OSGI中自定义logback的日志输出格式

sleeplacker 2016-10-25 09:31:08
有这样一个问题,由于当前项目的图片存在数据库(SB才这样设计),所以每次其他系统来查图片的时候就会打很长的日志,导致日志看着很费劲。
所以希望能够把图片日志过滤掉,也找到了方法,就是继承 •ch.qos.logback.classic.pattern.ClassicConverter 类来自定义输出格式(即写正则表达式将过长的图片日志替换为****等)。
但是本人对OSGI不怎么熟,不知道怎么把这个重写的类放到项目启动的地方,我试着建了一个bundle重写了格式化输出类,然后把该bundle部署到了Target Platform,在启动设置那里也勾选了,但是启动的时候还是报错ClassNotFoundException,找不到我定义的类。

logback.xml内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration>

<configuration debug="false" scan="true" scanPeriod="60000">

<!-- jmxConfigurator /-->
<conversionRule conversionWord="m" converterClass="com.lg.MessageConverter" />
<appender name="CONSOLE"
class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss~SSS} [%thread] [%-5level] %logger %m%n
</Pattern>
</layout>
</appender>

<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--<fileNamePattern>/home/epay/paygate/log/error/paygateErrLogFile.%d{yyyy-MM-dd}.%i.log </fileNamePattern>-->
<fileNamePattern>D:/DIRECTLOG/mca/log_%d{yyyy-MM-dd HH}_%i.log.zip </fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] [%logger{36}] [%X{transId}] [%X{transName}] - %m%n</Pattern>
</layout>
<encoding>UTF-8</encoding>
</appender>

<logger name="com.csii.pe.channel.stream" additivity="false">
<level value="info" />
<appender-ref ref="FILE" />
<appender-ref ref="CONSOLE" />
</logger>

<root>
<level value="debug" />
<appender-ref ref="FILE" />
<appender-ref ref="CONSOLE" />
</root>

</configuration>



...全文
229 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sleeplacker 2016-10-25
  • 打赏
  • 举报
回复
引用 1 楼 shijing266 的回复:
把logback.xml跟你的资源文件目录放同级就行了
logback.xml是在eclipse启动参数那里配置的:-Dlogback.configurationFile=D:/DDIRECT_MCA/logback.xml
  • 打赏
  • 举报
回复
把logback.xml跟你的资源文件目录放同级就行了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧