Logback配置内容解读

Logback 输出日志配置如下,逐个来解释下配置的内容.

<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />

1. %d{HH:mm:ss.SSS}

  • %d:表示日期和时间。
  • {HH:mm:ss.SSS}:指定时间格式,表示小时(24小时制)、分钟、秒和毫秒。
    • HH:小时(00-23)
    • mm:分钟(00-59)
    • ss:秒(00-59)
    • SSS:毫秒(000-999)

示例输出14:30:45.123

2. [%thread]

  • %thread:表示当前线程的名称。
  • []:将线程名称包裹在方括号中。

示例输出[main]

3. %-5level

  • %level:表示日志级别(如DEBUGINFOWARNERROR)。
  • -5:表示日志级别字段的宽度为5个字符,左对齐。如果日志级别不足5个字符,会在右侧填充空格。

示例输出INFO (注意后面的空格)

4. %logger{20}

  • %logger:表示日志记录器(Logger)的名称。
  • {20}:表示日志记录器名称的最大长度为20个字符。如果名称超过20个字符,会被截断。

示例输出com.example.MyClass

5. - [%method,%line]

  • %method:表示当前日志记录所在的方法名称。
  • %line:表示当前日志记录所在的行号。
  • []:将方法名称和行号包裹在方括号中,用逗号分隔。

示例输出[myMethod,42]

6. - %msg

  • %msg:表示日志消息,即日志记录的内容。

示例输出This is a log message.

7. %n

  • %n:表示换行符,用于在日志条目之间添加换行。

完整示例输出

假设在一个名为com.example.MyClass的类中,myMethod方法的第42行记录了一条INFO级别的日志消息This is a log message.,并且当前线程名称为main,时间是14:30:45.123,那么最终的日志输出可能是:

14:30:45.123 [main] INFO  com.example.MyClass - [myMethod,42] - This is a log message.

你可能感兴趣的:(基础,logback)