1 2 3 4

log4j 日志输出

1.日常导包(添加依赖)

可从官网上下载该依赖包log4j-x.x.xx.jar,下载后 build path,添加依赖包

 

2.添加log4j属性文件  log4j.properties         (也可以是xml配置文件,暂时不会)

### set log levels ###
log4j.rootLogger = INFO, Console, E

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n

log4j.appender.E = org.apache.log4j.RollingFileAppender
log4j.appender.E.File = ${cjqProject}WEB-INF/logs/cjq.log       //此为相对路径
### log4j.appender.E.File = G:/logs/cjq.log ###
log4j.appender.E.Append = true
### log4j.appender.E.Threshold = ERROR ###
log4j.appender.E.Threshold = INFO
log4j.appender.E.MaxFileSize = 10MB
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [ %l\:%c\:%t\:%r ] - [ %p ] %m%n

### log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n ###

 

3.在web.xml文件中 配置 加载 log4j.properties的属性

<!-- 加载log4j的配置文件log4j.properties -->
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/log4j.properties</param-value>
    </context-param>

    <!-- 设定刷新日志配置文件的时间间隔,这里设置为10s -->
    <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>10000</param-value>
    </context-param>

    <!-- 加载Spring框架中的log4j监听器Log4jConfigListener -->
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

    <!-- 为避免项目间冲突,定义唯一的 webAppRootKey -->
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>cjqProject</param-value>
    </context-param>

4.实例应用
import org.apache.log4j.Logger;

//本地日志记录对象
private static Logger logger = Logger.getLogger(LoginController.class);

logger.info(account+"账号已存在,注册失败!");

 

5.生成的日志文件     可使用绝对路径  该例子使用的是相对路径  所有生成的文件在tomcat发布的项目里 地址与属性文件的相关值有关 如下图

 

 注:

1.第二种日志slf4j:SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。

 

2.加载配置文件或者属性文件的两种方式

第一种在web.xml中这样配置:
   <context-param>
     <param-name >contextConfigLocation </param-name >
     <param-value >classpath:config/XXXXXXX.xml </param-value >
 </ context-param>
  表示在类路径下有一个名为config的文件夹
第二种在web.xml中这样配置:
<context-param>
     <param-name >contextConfigLocation </param-name >
     <param-value >/WEB-INF/config/*-context.xml </param-value >
 </ context-param>
放在config文件夹下,使用了通配符。两种方式功能一样,使用哪个就看个人喜好了。
posted @ 2018-01-12 11:06  一缕清风丶  阅读(394)  评论(0编辑  收藏  举报