Java 应用程序未记录日志,如何调试日志4j是否启动

Java 应用程序未记录日志,如何调试日志4j是否启动,java,log4j,Java,Log4j,我创建了一个非常简单的应用程序,我尝试使用Log4J,但是我的应用程序没有记录任何日志 有人能告诉我如何调试与log4j启动时相同的程序吗 我已将该文件保存在WEB-INF/classes 谢谢 以下是我的log4j属性 log4j.rootLogger=debug, stdout, ABC log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.P

我创建了一个非常简单的应用程序,我尝试使用Log4J,但是我的应用程序没有记录任何日志

有人能告诉我如何调试与log4j启动时相同的程序吗

我已将该文件保存在
WEB-INF/classes

谢谢

以下是我的log4j属性

log4j.rootLogger=debug, stdout, ABC

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.ABC=org.apache.log4j.RollingFileAppender
log4j.appender.ABC.File=D://abc//dams_workflow_application.log

log4j.appender.ABC.MaxFileSize=3000KB
# Keep one backup file
log4j.appender.ABC.MaxBackupIndex=10

log4j.appender.ABC.layout=org.apache.log4j.PatternLayout
log4j.appender.ABC.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
下面是使用log 4j的示例行

 Logger log = Logger.getLogger("ABC");
 log.info("my message");

如果log4j未启动,控制台将打印此信息:

log4j:WARN No log4j configuration information found.
log4j:WARN Changed non-configured level from DEBUG to ERROR.
log4j:WARN The log4j system is not properly configured!
你可以看看 开始吧

问候,,
如果您正在编写web应用程序,则可以查看。即使它声明了Tomcat,也同样适用于其他容器/Web应用程序服务器。

确保log4j jar位于您的Web应用程序的lib目录或Tomcat的lib目录中。 Log4j似乎无法正常工作,除非我将Log4j属性文件放在项目中webapp源目录的默认包中

我的所有log4j属性文件通常类似于以下内容

# Define a logger called "processLog" using the FileAppender implementation of the
# Log interface
log4j.appender.processLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.processLog.File.DateFormat='.'yyyy-ww

# Define the output location
log4j.appender.processLog.File=C:/logs/myapp.log

# Define what the output is going to look like for your log
log4j.appender.processLog.layout=org.apache.log4j.PatternLayout
log4j.appender.processLog.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm a} %5p %c{1}: Line#%L - %m%n

# log4j.rootLogger specifies the default logging level and output location.
# The first parameter is the level (debug > info > warn > error > fatal).
log4j.rootLogger=INFO, processLog

反正我就是这样做的。也许有更好的方法,但这个方法对我来说总是有效的。

你可能想发布你用来初始化log4jj的代码你说你使用web inf/类-这是否意味着你在容器中运行战争-tomcat,jetty?谁负责启动log4j配置—您的应用程序还是容器本身?谢谢,我没有收到任何消息—我已经更新了日志属性文件,所以您必须遵循特定于servlet容器的说明。