为独立应用程序初始化log4j

Rag*_*ghu 6 java logging log4j

我是log4j的新手.这就是我所拥有的.我在STAND ALONE JAVA应用程序中有大约20个不同包中的文件.我正在尝试使用和编写日志文件.

以下是我的类路径中的log4j.properties文件:

log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File = /ParentFolder/ChildFolder/application.log
log4j.appender.R.Append = true
log4j.appender.R.DatePattern = '.'yyy-MM-dd
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
Run Code Online (Sandbox Code Playgroud)

以下是在main方法中初始化日志记录的代码

final String LOG_FILE = "C:/eclipse_workspace/lib/log4j.properties"; 
      Properties logProp = new Properties();      
      try     
      {      
       logProp.load(new FileInputStream (LOG_FILE));  
            PropertyConfigurator.configure(logProperties);      
            logger.info("Logging enabled");    
      }     
      catch(IOException e)                
      {       
     System.out.println("Logging not enabled");       
                 }  
Run Code Online (Sandbox Code Playgroud)

在应用程序的每个java类中,我都有以下代码

import org.apache.log4j.*;

private static final Logger logger = Logger.getLogger(TheActualClassName.class); 
Run Code Online (Sandbox Code Playgroud)

但是当我运行应用程序时,我收到以下警告消息.

log4j:WARN找不到logger(com.xxx.myApp.MainProgram.MyFileName)的appender.log4j:WARN请正确初始化log4j系统.log4j的:WARN见http://logging.apache.org/log4j/1.2/faq.html#noconfig获取更多信息.

我究竟做错了什么??未生成日志文件"application.log"

Pau*_*gas 6

可能需要以下行:

# Set root logger level to INFO and appender to R.
log4j.rootLogger=INFO, R
Run Code Online (Sandbox Code Playgroud)

根记录器始终可用且没有名称.

从版本1.2.7开始,log4j(带有LogManager类)log4j.xml首先在类路径中查找.如果log4j.xml不存在,那么log4j(带有LogManager类)log4j.properties在类路径中查找.