Tomcat6でログメッセージをカスタマイズしたいので、次のようなクラス「MyFormatter」を作成しました。
public class LogFormatter extends Formatter {
@Override
public String format(LogRecord record) {
StringBuilder sb = new StringBuilder();
sb.append("LOLCAT--")
.append(new Date(record.getMillis()))
.append(" \t")
.append(record.getThreadID())
.append(" \t")
.append(record.getSourceMethodName())
.append(" \t")
.append(record.getSourceClassName())
.append(" \t")
.append(record.getLevel().getLocalizedName())
.append(": ")
.append(formatMessage(record))
.append(System.getProperty("line.separator"));
return sb.toString();
}
}
これを.jarにパックし、$ {catalina.home}/libに配置しました。
私のlogging.propertiesファイルに以下を追加しました:
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = lolcat.
1catalina.org.apache.juli.FileHandler.formatter = my.package.LogFormatter
いくつかの試みが異なるパッケージング、異なる構成を試した後、私は組み込みの「org.apache.juli.OneLineFormatter」を試すことにしました-これは完全に機能します。したがって、構成は問題ないはずです。
質問は残っています、なぜTomcat6は私のクラスをロードしないのですか?