logback 配置Word文件下载.docx
- 文档编号:17396204
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:8
- 大小:17.35KB
logback 配置Word文件下载.docx
《logback 配置Word文件下载.docx》由会员分享,可在线阅读,更多相关《logback 配置Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
如果设置级别为INFO,则优先级高于等于INFO级别(如:
INFO、WARN、ERROR)的日志信息将可以被输出,小于该级别的如DEBUG将不会被输出。
logback基本配置如下:
&
lt;
?
xmlversion="
1.0"
encoding="
UTF-8"
gt;
configuration&
&
propertyname="
LOG_HOME"
value="
c:
/log"
/&
!
--控制台输出--&
appendername="
STDOUT"
class="
ch.qos.logback.core.ConsoleAppender"
Encoding&
UTF-8&
/Encoding&
layoutclass="
ch.qos.logback.classic.PatternLayout"
pattern&
%d{HH:
mm:
ss.SSS}[%thread]%-5level%logger{50}-%msg%n
/pattern&
/layout&
/appender&
--按照每天生成日志文件--&
FILE"
ch.qos.logback.core.rolling.RollingFileAppender"
rollingPolicyclass="
ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
FileNamePattern&
${LOG_HOME}/myApp.log.%d{yyyy-MM-dd}.log&
/FileNamePattern&
MaxHistory&
30&
/MaxHistory&
/rollingPolicy&
rootlevel="
DEBUG"
appender-refref="
/root&
/configuration&
复制代码
filter&
:
过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一。
返回DENY,日志将立即被抛弃不再经过其他过滤器;
返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;
返回ACCEPT,日志会被立即处理,不再经过剩余过滤器。
过滤器被添加到&
Appender&
中,为&
添加一个或多个过滤器后,可以用任意条件对日志进行过滤。
有多个过滤器时,按照配置顺序执行。
下面是几个常用的过滤器:
LevelFilter:
级别过滤器,根据日志级别进行过滤。
如果日志级别等于配置级别,过滤器会根据onMath和onMismatch接收或拒绝日志。
有以下子节点:
level&
设置过滤级别
onMatch&
用于配置符合过滤条件的操作
onMismatch&
用于配置不符合过滤条件的操作
例如:
将过滤器的日志级别配置为INFO,所有INFO级别的日志交给appender处理,非INFO级别的日志,被过滤掉。
CONSOLE"
filterclass="
ch.qos.logback.classic.filter.LevelFilter"
INFO&
/level&
ACCEPT&
/onMatch&
DENY&
/onMismatch&
/filter&
encoder&
%-4relative[%thread]%-5level%logger{30}-%msg%n
/encoder&
ThresholdFilter:
临界值过滤器,过滤掉低于指定临界值的日志。
当日志级别等于或高于临界值时,过滤器返回NEUTRAL;
当日志级别低于临界值时,日志会被拒绝。
过滤掉所有低于INFO级别的日志。
--过滤掉TRACE和DEBUG级别的日志--&
ch.qos.logback.classic.filter.ThresholdFilter"
EvaluatorFilter:
求值过滤器,评估、鉴别日志是否符合指定条件。
有一下子节点:
evaluator&
鉴别器,常用的鉴别器是JaninoEventEvaluato,也是默认的鉴别器,它以任意的java布尔值表达式作为求值条件,求值条件在配置文件解释过成功被动态编译,布尔值表达式返回true就表示符合过滤条件。
evaluator有个子标签&
expression&
,用于配置求值条件。
求值表达式作用于当前日志,logback向求值表达式暴露日志的各种字段:
Name
Type
Description
event
LoggingEvent
与记录请求相关联的原始记录事件,下面所有变量都来自event,例如,event.getMessage()返回下面"
message"
相同的字符串
message
String
日志的原始消息,例如,设有loggermylogger,"
name"
的值是"
AUB"
,对于mylogger.info("
Hello{}"
name);
"
就是原始消息。
formatedMessage
日志被各式话的消息,例如,设有loggermylogger,"
HelloAub"
就是格式化后的消息。
logger
logger名。
loggerContext
日志所属的logger上下文。
level
int
级别对应的整数值,所以level&
INFO是正确的表达式。
timeStamp
long
创建日志的时间戳。
marker
Marker
与日志请求相关联的Marker对象,注意“Marker”有可能为null,所以你要确保它不能是null。
mdc
Map
包含创建日志期间的MDC所有值得map。
访问方法是:
mdc.get("
myKey"
)。
mdc.get()返回的是Object不是String,要想调用String的方法就要强转,例如,
((String)mdc.get("
k"
)).contains("
val"
).MDC可能为null,调用时注意。
throwable
java.lang.Throwable
如果没有异常与日志关联"
throwable"
变量为null.不幸的是,"
不能被序列化。
在远程系统上永远为null,对于与位置无关的表达式请使用下面的变量throwableProxy
throwableProxy
与日志事件关联的异常代理。
如果没有异常与日志事件关联,则变量"
throwableProxy"
为null.当异常被关联到日志事件时,"
在远程系统上不会为null
过滤掉所有日志消息中不包含“billing”字符串的日志。
ch.qos.logback.core.filter.EvaluatorFilter"
--默认为ch.qos.logback.classic.boolex.JaninoEventEvaluator--&
returnmessage.contains("
billing"
);
/expression&
/evaluator&
OnMatch&
ACCEPT&
/OnMatch&
OnMismatch&
/OnMismatch&
%-4relative[%thread]%-5level%logger-%msg%n
INFO"
matcher&
:
匹配器,尽管可以使用String类的matches()方法进行模式匹配,但会导致每次调用过滤器时都会创建一个新的Pattern对象,为了消除这种开销,可以预定义一个或多个matcher对象,定以后就可以在求值表达式中重复引用。
是&
的子标签。
中包含两个子标签,一个是&
name&
,用于定义matcher的名字,求值表达式中使用这个名字来引用matcher;
另一个是&
regex&
,用于配置匹配条件。
configurationdebug="
true"
Name&
odd&
/Name&
--filteroutoddnumberedstatements--&
statement[13579]&
/regex&
/matcher&
odd.matches(formattedMessage)&
NEUTRAL&
%-4relative[%thread]%-5level%logger-%msg%n&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- logback 配置