clojure - 使用我自己的格式化函数和 `log4-clj-format`
问题描述
我正在查看log4-clj-layout以便为 Java 登录的混乱带来一点秩序。我想尝试一下我自己的格式功能,但我无法让它发挥作用。
按照上面页面上的说明,我开始将以下内容添加到我的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))
任何和所有的帮助将不胜感激。
解决方案
推荐阅读
- regex - Notepad++ - 按第一个单词查找重复行
- node.js - 为什么“npm run build”会产生错误“react-scripts Permission denied”?
- java - @GetMapping 没有被导入
- migradoc - 如何从表格单元格中获取值
- nginx - Nginx 静态内容缓存 proxy_cache_bypass proxy_no_cache
- android - android重力右光标显示输入文本EditText的左侧
- java - 我想在构造函数中打开一个文件进行读取。该文件应该可以通过任何方法读取,而无需创建另一个读取器对象
- amazon-web-services - 需要为开发人员提供细粒度访问权限以访问属于他的项目的特定 KMS 密钥
- python - 将 CSV 上传到 Plotly Dash 并基于 Pandas 数据框呈现条形图
- mysql - phpmyadmin 中无法识别的数据类型错误