logback配置

Dependencies

Slf4j、log4j、logback关系介绍中所说,sif4j+logback日志体系,其dependencies:

  • slf4j-api (slf4j接口)
  • logback-classic (logback服务于slf4j的”驱动”)
  • logback-core (logback日志实现)

logback配置

logback.xml示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d %p [%t] [%X{xxx}] - %m%n</pattern>
        </encoder>
    </appender>
    <logger name="console_logger" additivity="false">
        <appender-ref ref="console" />
    </logger>
    <logger name="com.xxx.xxx" level="INFO" additivity="false">
        <appender-ref ref="console" />
    </logger>
    <root level="info">
        <appender-ref ref="console" />
        <appender-ref ref="info" />
    </root>
</configuration>

appender

appender是否则写日志的组件,定义日志的输出位置、格式等。包括以下几种:

  • ConsoleAppender:把日志添加到控制台
  • FileAppender:把日志添加到文件
  • RollingFileAppender:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件
  • SMTPAppender:把日志发邮件
  • 其它还有SocketAppender、DBAppender、SyslogAppender、SiftingAppender等

logger

logger用来设置某一个包或者具体的某一个类的日志打印级别、以及指定appender。其有name、level、additivity三个属性

  • name:name可以为java中的包或类,表示对该包或类采用该种日志打印级别。也可以为自定义的名字,如“console_logger”, 在使用LoggerFactory.getLogger(“console_logger”)打印log时,即采用该种打印级别,但这种方式打出的日志会以“console_logger”代替具体类名,不便于定位日志位置。
  • level:日志级别,INFO、ERROR等,未设置时默认采用上级日志级别
  • additivity:是否向上级传递,若向上级传递,可能会导致打印重复日志。注意,若向上级传递,会连同日志级别一起向上级传递。

root

logger层级的根。只有level属性。按照appender-ref中定义的方式打印。

所有的日志,只要不在各logger范围内,或者由logger向上级root传递,都会按root级别处理。此时若日志级别大于等于root的level,都会按root设置的打印方式输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值