代码之家  ›  专栏  ›  技术社区  ›  Magnus

在'log4 clj format中使用我自己的格式函数`

  •  2
  • Magnus  · 技术社区  · 8 年前

    我在看 log4-clj-layout

    按照上面一页的说明,我开始在我的 log4j.properties 文件:

    log4j.appender.console.layout=log4_clj_layout.layout.Layout
    log4j.appender.console.layout.FormatFn=json-format
    

    log-test.core/my-format 并试图将其用于日志记录:

    log4j.appender.console.layout=log4_clj_layout.layout.Layout
    log4j.appender.console.layout.FormatFn=log-test.core/my-format
    

    但现在我得到的只是一个错误:

    (log/warn "foo")
    Setting format-fn: log-est.core/my-format
    log4j:WARN Failed to set property [formatFn] to value "log-test.core/my-format". 
    java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
    ...
    

    很明显我漏掉了什么,但是什么?

    我这样定义格式函数( l 是的别名 log4-clj-layout.layout

    (defn my-format [event]
      (pr event)
      (l/json-format event))
    

    任何帮助都将不胜感激。

    0 回复  |  直到 8 年前