
请注意,您需要在
ThreadContext映射中设置值,RoutingAppender使用该值来确定将日志事件路由到哪个追加程序。这意味着,每次代码输入其他插件时,您都需要在ThreadContext映射中添加一些值。
但是,您真的需要它具有这种动态性吗?如果您事先知道拥有哪些插件,则可以为每个插件声明一个记录器(使用插件的包名是执行此 *** 作的常用方法),然后将每个这样的记录器映射到单独的附加程序。
<?xml version="1.0" encoding="UTF-8"?><Configuration status="warn" name="MyApp" packages=""> <Appenders> <File name="MyFile" fileName="logs/app.log"> <PatternLayout> <Pattern>%d %p %c{1.} [%t] %m%n</Pattern> </PatternLayout> </File> <File name="plugin1" fileName="logs/plugin1.log"> <PatternLayout> <Pattern>%d %p %c{1.} [%t] %m%n</Pattern> </PatternLayout> </File> <File name="plugin2" fileName="logs/plugin2.log"> <PatternLayout> <Pattern>%d %p %c{1.} [%t] %m%n</Pattern> </PatternLayout> </File> </Appenders> <Loggers> <Logger name="com.mycomp.project.plugin1" level="debug"> <AppenderRef ref="plugin1" level="debug" /> </Logger> <Logger name="com.mycomp.project.plugin2" level="debug"> <AppenderRef ref="plugin2" level="debug" /> </Logger> <Root level="trace"> <AppenderRef ref="MyFile" level="trace" /> </Root> </Loggers></Configuration>欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)