网贷之家网站建设,怎么查网站备案的公司,电脑如何重新安装wordpress,网站降权查询工具官方链接#xff1a;Chapter 3: Configurationhttps://logback.qos.ch/manual/configuration.html
配置使用 logback 的方式有很多种#xff0c;而使用配置文件是较为简单的一种方式#xff0c;下述就是简单描述一个 logback 配置文件基本的配置项#xff1a;
由于 logba…官方链接Chapter 3: Configurationhttps://logback.qos.ch/manual/configuration.html
配置使用 logback 的方式有很多种而使用配置文件是较为简单的一种方式下述就是简单描述一个 logback 配置文件基本的配置项
由于 logback 会自动检索程序的类路径下是否有 logback-test.xml 或 logback.xml 来进行相关配置因此我们首先需要在类路径下创建一个文件命名为 logback-test.xml 或 logback.xml。例如logback-examples/src/main/resources/logback.xml.
在 logback 配置文件中
该文件首先使用 configuration 来组织本配置文件的基本结构其中可以包含零到多个的 appender 标签零到多个 logger 标签至多一个 root 标签
1appender配置日志的输出形式。该标签采用两个必需属性name 和 class。
name指定 appender 的名称
class指定要实例化的 appender 类的完全限定名称。
appender 内可以使用多种标签基本用法如下
1. 如果是使用文件来输出日志使用file指定日志文件路径
2. 使用 encoder 来定义日志格式( 代替了旧版本的 layout 但是新版本中仍然支持layout )。内部使用pattern定义具体格式( layout 也是 ) appender nameFILE classch.qos.logback.core.FileAppenderfilemyApp.log/fileencoderpattern%date %level [%thread] %logger{10} [%file:%line] -%kvp- %msg%n/pattern/encoder/appenderappender nameSTDOUT classch.qos.logback.core.ConsoleAppenderencoderpattern%kvp %msg%n/pattern/encoder/appender
2root日志根配置也即是除了 logger 定义外的日志都使用该标签的配置。
该标签只有一个属性 level配置日志级别可选值有TRACE、DEBUG、INFO、WARN、ERROR、ALL 或 OFF。
其中也可以包含零到多个 appender-ref 来引用前面定义的 appender 指定当前该配置的日志需要以哪种 appender 来输出。
configurationappender nameSTDOUT classch.qos.logback.core.ConsoleAppenderencoderpattern%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n/pattern/encoder/appenderroot levelDEBUGappender-ref refSTDOUT //root/configuration
3logger用来定义特殊的日志配置。例如一个应用程序中所有日志都统一配置但是存在少数的类或者文件需要特殊配置就使用该标签来配置。该标签只接受一个必需的 name 属性、一个可选的 level 属性和一个可选的可加性属性( 一般不需要使用 )。
name指定在哪个类或者文件中使用该配置也即是作用域
level配置日志级别可选值有TRACE、DEBUG、INFO、WARN、ERROR、ALL 或 OFF。
logger 标签内还可以包含零到多个 appender-ref 来引用前面定义的 appender 指定当前该配置的日志需要以哪种 appender 来输出。如果是零个则为继承 root 中的定义。
logger namecom.example.Test1 levelDEBUG /logger namecom.example.Test2 levelDEBUGappender-ref refSTDOUT /
/logger
示例定义一个具体滚动日志文件功能的 appenderRollingFileAppender来收集每天的日志到一个日期命名的日志文件中并定义日志文件定期进行清理例如30天
configurationspringProperty scopecontext namelogDir sourcelogging.file.path/springProperty scopecontext namespringAppName sourcespring.application.name/appender nameLOGFILE classch.qos.logback.core.rolling.RollingFileAppenderfile${logDir}/server.log/fileencoder classch.qos.logback.classic.encoder.PatternLayoutEncoderPattern%d{dd-MM-yyyy HH:mm:ss.SSS} [%thread] [${springAppName}, %X{X-B3-TraceId:-}] %-5level %logger{36}.%M - %msg%n/Pattern/encoderrollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicyfileNamePattern${logDir}/server_%d{yyyy-MM-dd}.log/fileNamePatternmaxHistory30/maxHistorytotalSizeCap100MB/totalSizeCap/rollingPolicy/appenderroot levelinfoappender-ref refLOGFILE //root
/configuration
file先将日志文件路径定义为 ${logDir}/server.log
encoder定义日志输出格式
rollingPolicy 在标签内部定义滚动策略具体如下
1fileNamePattern指定滚动的日志文件命名为当天日期也即是当日期发生变化的时候就滚动产生一个新的日志文件因此就是每天都产生一个新的日志文件。 此处的工作原理是先将日志信息输入到 file 标签定义的文件中此处简称为 server.log等到滚动条件生效( 此处也即是日期发生变化 )就将 server.log 重命名为 fileNamePattern 中定义的命名格式的日志文件( 此处为 server_%d{yyyy-MM-dd}.log )进行存储然后重新创建一个名为 server.log 的日志文件继续收集新的日志重复这样的操作。
也即是每当日期发生变化即新的一天开始时就会触发滚动将旧的日志文件重命名添加日期前缀然后会创建一个新的 server.log 文件来继续收集新的日志信息。
2maxHistory指定了保留日志文件的天数这里设置为 30 天
3totalSizeCap定义了所有日志文件的总大小上限这里设置为 100MB。达到这个大小后最旧的日志文件将被删除