我在tomcat 7中使用Java系统日志记录,但是没有日志记录语句写入日志。我已将此文件添加到我的WEB-INF / classes中。日志文件“ new-xyz-test”已创建(因此我至少拥有一些配置权限),但是它为空-没有日志语句被打印到该文件。
handlers=java.util.logging.ConsoleHandler, org.apache.juli.FileHandler org.apache.juli.FileHandler.level=ALL org.apache.juli.FileHandler.directory=${catalina.base}/logs org.apache.juli.FileHandler.prefix=new-xyz-test- java.util.logging.ConsoleHandler.level=ALL java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter com.xyz.level=ALL com.xyz.handlers=org.apache.juli.FileHandler
要在Web应用程序中配置JULI,您需要logging.properties在WEB- INF/classes目录中有一个文件。如果使用默认处理程序,则可能会丢失消息。您需要在文件中为处理程序指定前缀。
logging.properties
WEB- INF/classes
handlers=1FILE.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler .handlers=java.util.logging.ConsoleHandler 1FILE.org.apache.juli.FileHandler.level=FINEST 1FILE.org.apache.juli.FileHandler.directory=/app-logs 1FILE.org.apache.juli.FileHandler.prefix=file-1 java.util.logging.ConsoleHandler.level=FINE java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter com.xyz.level=INFO com.xyz.handlers=1FILE.org.apache.juli.FileHandler com.abc.level=INFO com.abc.handlers=java.util.logging.ConsoleHandler
处理程序前缀(例如1FILE.)以数字开头,然后具有任意字符串,并以句点(。)结尾。
1FILE.
如果您不是通过startup.sh或运行Tomcat,则startup.bat需要指定:
startup.sh
startup.bat
conf
org.apache.juli.ClassLoaderLogManager
与下一个类似(我正在使用eclipse):
-Djava.util.logging.config.file="C:\Users\Paul\workspaces\utils\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
默认情况下,java.util.logging读取JDK或JRE中包含的文件,例如:
java.util.logging
"C:\Software\jdk1.7.0_17\jre\lib\logging.properties"