JAVA使用log4j

Posted Andy 胡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA使用log4j相关的知识,希望对你有一定的参考价值。

1.引入jar包

  log4j-1.2.13.jar

2.src下建立配置文件:log4j.properties

#不+All,只写后一种LOG
log4j.rootLogger =ALL,systemOut,logRollingFile 

#输出到控制台 
log4j.appender.systemOut = org.apache.log4j.ConsoleAppender 
log4j.appender.systemOut.layout = org.apache.log4j.PatternLayout 
#"%-5p":消息类型(DEBUG?INFO?),左对其,5字符
#"%l":那个文件那个方法哪一行输出log
#"%n":换行
#"%m":log消息
log4j.appender.systemOut.layout.ConversionPattern = [%-5p][%-22d{yyyy/MM/dd HH:mm:ss.SSS}][%l]%n%m%n
#阈值(log级别:DEBUG,INFO,ERROR,WARN)
log4j.appender.systemOut.Threshold = DEBUG

#设定文件大小输出到文件 
log4j.appender.logRollingFile = org.apache.log4j.RollingFileAppender 
log4j.appender.logRollingFile.layout = org.apache.log4j.PatternLayout 
log4j.appender.logRollingFile.layout.ConversionPattern = %m%n
log4j.appender.logRollingFile.Threshold = DEBUG 
log4j.appender.logRollingFile.File = C:/log/AhLog.txt 
log4j.appender.logRollingFile.MaxFileSize = 1MB 
log4j.appender.logRollingFile.MaxBackupIndex = 10
参考:
  http://blog.csdn.net/dr_guo/article/details/50718063   《log4j.properties配置详解与实例

3.编写Java测试文件:

import org.apache.log4j.Logger;

public class TestLog4j {
    static Logger log = Logger.getLogger(TestLog4j.class.getName());

    public static void main(String[] args) {
        log.debug("AH DEBUG");
        log.info("AH INFO");
        log.error("AH ERROR");
        log.warn("AH WARN");
    }
}

 SSM框架中使用log4j

 

web.xml中加入

    <!-- 配置log4j -->
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/log4j.properties</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

用起来需要:

public class AhUtils {
    public static Logger log = Logger.getLogger(AhUtils.class.getName());
}

调用:如Service中:

package org.ah.ssm.service.impl;
import org.ah.ssm.ahutils.AhUtils;

@Service
public class QuestionServiceImpl implements QuestionService {
    @Override
    public void getUserAnswers(Map<String, String[]> parameterMap,
            List<Question> qs) {
       //......
            AhUtils.log.info(_题号 + ":" + _UserAnswer.toString());
       //......
    }
}

 

以上是关于JAVA使用log4j的主要内容,如果未能解决你的问题,请参考以下文章

如何使用从 dll 在 Java 端声明的 log4j 记录器

log4j的使用,即java该如何使用日志文件

通过java代码给log4j指定appender

java中的日志组件-log4j

Java中Log4J的使用教程

Java学习-007-Log4J 日志记录配置文件详解及实例源代码