加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为独立应用程序初始化log4j

发布时间:2020-12-14 06:05:51 所属栏目:Java 来源:网络整理
导读:我是log4j的新手.这就是我所拥有的.我在STAND ALONE JAVA应用程序中有大约20个不同包中的文件. 我正在尝试使用和编写日志文件. 以下是我的类路径中的log4j.properties文件: log4j.appender.R = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.
我是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

以下是在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");       
                 }

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

import org.apache.log4j.*;

private static final Logger logger = Logger.getLogger(TheActualClassName.class);

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

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”

解决方法

可能需要以下行:
# Set root logger level to INFO and appender to R.
log4j.rootLogger=INFO,R

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

从版本1.2.7开始,log4j(使用LogManager类)首先在类路径中查找log4j.xml.如果log4j.xml不存在,则log4j(使用LogManager类)在类路径中查找log4j.properties.

> Default Initialization Procedure
> LogManager xref

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读