logback配置

主宰稳场 提交于 2020-02-17 08:04:57

Logback

是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。

  它当前分为下面下个模块:  

logback-core:其它两个模块的基础模块  

logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging  

logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能

1、根节点<configuration>属性

scan:

当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。

scanPeriod:

设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。

debug:

当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。

<configuration scan="true" scanPeriod="30 seconds">
    <!-- 设置上下文名称 -->
    <contextName>${project.artifactId}</contextName>
    
    <!-- 设置变量 -->
    <property name="PROJECT_LOG_PATH" value="${log.root.path}/${project.artifactId}"/>
    <property name="DEFAULT_MAX_HISTORY" value="30"/>

2、子节点

<contextName>  设置上下文名称

 <property>  设置变量

<timestamp>  获取时间戳字符串

<loger>  

用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>;<loger>仅有一个name属性,一个可选的level和一个可选的addtivity属性。     

name  用来指定受此loger约束的某一个包或者具体的某一个类。

level  用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。

    如果未设置此属性,那么当前loger将会继承上级的级别。

addtivity  是否向上级loger传递打印信息。默认是true。

<appender>  执行日志事件输出的组件

<!-- 设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF -->
    <root level="INFO">
        <!-- 生产环境删除stdout输出 -->
        <appender-ref ref="stdout"/>
        <appender-ref ref="NormalFile"/>
    </root>
    
    <!-- 访问日志,仅适用于Web后台 -->
    <logger name="AccessLog" level="INFO" additivity="false">
        <appender-ref ref="AccessFile"/>
        <!-- 生产环境删除stdout输出 -->
        <appender-ref ref="stdout"/>
    </logger>
    
    <!-- 自定义日志输出级别 -->
    <logger name="com.clife" level="DEBUG" />
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!