我想在 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 不加载我的类?