log 4 jを解決する.propertiesプロファイルによって生成されたlogログファイルの読み書き権限の問題
3439 ワード
ブログから転載:https://blog.csdn.net/wo2huoa/article/details/79205575
問題の説明:
Java webプロジェクトが管理者以外のユーザーを使用してlinux weblogicサーバに配備された場合、生成されたlogログファイルの読み書き権限はrw-r---である.
vlogなどの他のユーザーがログを表示できなくなる
ソリューション:
1.log 4 j 2.9以上のバージョンで利用可能(クリックでリンクを開く参照)
のfilePermissions構成が完了しました
2.log 4 j 2.9以下のバージョンは、RollingFileAppenderまたはDailyRollingFileAppenderを継承することで実現できます.
log4j.properties構成
[plain] view plain
copy
#ファイルに出力
log4j.appender.fileInfo = com.core.log4jconfig.Mylog4jWriter
log4j.appender.fileInfo.Threshold = DEBUG
log4j.appender.fileInfo.layout = org.apache.log4j.PatternLayout
log4j.appender.fileInfo.layout.ConversionPattern = %d{yyyy-MM-dd HH\:mm\:ss} %p %c %x - %m%n
log4j.appender.fileInfo.Append = TRUE
log4j.appender.fileInfo.File = /data/my/logs/my.log
log4j.appender.fileInfo.File='.'yyyy-MM-dd
com.core.log4jconfig.Mylog4jWriter.JAvaコード
[java] view plain
copy
public class Mylog4jWriter extends DailyRollingFileAppender{
@Override
public synchronized void setFile(String fileName, boolean append,
boolean bufferedIO, int bufferSize) throws IOException {
super.setFile(fileName, append, bufferedIO, bufferSize);
File f = new File(fileName);
Set set = new HashSet();
set.add(PosixFilePermission.OWNER_READ);
set.add(PosixFilePermission.OTHERS_WRITE);
set.add(PosixFilePermission.GROUP_READ);
set.add(PosixFilePermission.OTHERS_READ);
if(f.exists()){
Files.setPosixFilePermissions(f.toPath(), set);
}
}
}
プロジェクトの開始
生成されたログファイルの読み書き権限はrw-r--r--です.
すべてのユーザーにログ・ファイルの読み取り権限があります.
問題の説明:
Java webプロジェクトが管理者以外のユーザーを使用してlinux weblogicサーバに配備された場合、生成されたlogログファイルの読み書き権限はrw-r---である.
vlogなどの他のユーザーがログを表示できなくなる
ソリューション:
1.log 4 j 2.9以上のバージョンで利用可能(クリックでリンクを開く参照)
<File name="File" fileName="my.log" filePermissions="rw-r--r--">
<PatternLayout pattern="%m%n" />
File>
のfilePermissions構成が完了しました
2.log 4 j 2.9以下のバージョンは、RollingFileAppenderまたはDailyRollingFileAppenderを継承することで実現できます.
log4j.properties構成
[plain] view plain
copy
#ファイルに出力
log4j.appender.fileInfo = com.core.log4jconfig.Mylog4jWriter
log4j.appender.fileInfo.Threshold = DEBUG
log4j.appender.fileInfo.layout = org.apache.log4j.PatternLayout
log4j.appender.fileInfo.layout.ConversionPattern = %d{yyyy-MM-dd HH\:mm\:ss} %p %c %x - %m%n
log4j.appender.fileInfo.Append = TRUE
log4j.appender.fileInfo.File = /data/my/logs/my.log
log4j.appender.fileInfo.File='.'yyyy-MM-dd
com.core.log4jconfig.Mylog4jWriter.JAvaコード
[java] view plain
copy
public class Mylog4jWriter extends DailyRollingFileAppender{
@Override
public synchronized void setFile(String fileName, boolean append,
boolean bufferedIO, int bufferSize) throws IOException {
super.setFile(fileName, append, bufferedIO, bufferSize);
File f = new File(fileName);
Set set = new HashSet();
set.add(PosixFilePermission.OWNER_READ);
set.add(PosixFilePermission.OTHERS_WRITE);
set.add(PosixFilePermission.GROUP_READ);
set.add(PosixFilePermission.OTHERS_READ);
if(f.exists()){
Files.setPosixFilePermissions(f.toPath(), set);
}
}
}
プロジェクトの開始
生成されたログファイルの読み書き権限はrw-r--r--です.
すべてのユーザーにログ・ファイルの読み取り権限があります.