【问题标题】:log4j custom pattern in otroslogviewerotroslogviewer 中的 log4j 自定义模式
【发布时间】:2014-10-10 06:52:51
【问题描述】:

您好,我尝试使用 otroslogviewer 来查看我的应用程序日志。但每次我尝试加载日志时,otroslogviewer 都会给出有关 log4j 自定义模式解析的错误消息

我的 log4j 模式属性是

log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%-5p: %d{dd-MMM-yyyy HH:mm:ss,SSS}: %c.%M(): %m%n

谁能告诉我需要在 otroslogviewer 的模式属性文件中指定的正确模式格式

【问题讨论】:

  • 嗨。你能把你的日志片段贴在这里吗?
  • INFO : 10-Oct-2014 11:30:09,178: com.tcs.sgv.acl.service.AccessControlServiceImpl.getAllUserELement(): in global service loggedinPost---100016 INFO : 10-Oct-2014 11:30:09,179: com.tcs.sgv.acl.service.AccessControlServiceImpl.getAllUserELement(): userId...103002 INFO : 10-Oct-2014 11:30:09,180: com.tcs.sgv.acl.service.AccessControlServiceImpl.getAllUserELement(): locale...en_US
  • @Lalit_Bhanot 请注意,使用 LogMX,您只需将此 Log4j 模式复制/粘贴到 LogMX 图形界面中即可使其工作(并取消选中 %c 的“匹配最少字符”,以便两者“类”和“方法”字段按预期解析)

标签: log4j otroslogviewer


【解决方案1】:

如果您的日志如下所示:

INFO : 10-Oct-2014 11:30:09,178: com.tcs.sgv.acl.service.AccessControlServiceImpl.getAllUserELement(): in global service loggedinPost---100016 
INFO : 10-Oct-2014 11:30:09,179: com.tcs.sgv.acl.service.AccessControlServiceImpl.getAllUserELement(): userId...103002
INFO : 10-Oct-2014 11:30:09,180: com.tcs.sgv.acl.service.AccessControlServiceImpl.getAllUserELement(): locale...en_US – 

您可以使用以下日志模式(菜单工具-> 显示 log4j 模式解析器编辑器):

type=log4j
pattern=LEVEL : TIMESTAMP CLASS: MESSAGE
dateFormat=dd-MMM-yyyy HH:mm:ss,SSS
name=Stackoverflow example
charset=UTF-8

不幸的是,类和方法用'.'分隔。并且日志查看器无法检测到 com.tcs.sgv.acl.service.AccessControlServiceImpl.getAllUserELement() 中的哪个点将字段 CLASSMETHOD 分开。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多