【发布时间】:2014-12-01 08:41:50
【问题描述】:
Apache manual 简单地说:“
Log4j 2 的配置可以通过以下 4 种方式之一完成:
通过以 XML、JSON 或 YAML 编写的配置文件。
以编程方式,通过创建 ConfigurationFactory 和 Configuration 实现。
以编程方式,通过调用配置接口中公开的 API 将组件添加到默认配置。
以编程方式,通过调用内部 Logger 类的方法。
我想知道是否有明显的趋势支持这 4 种方式之一?
这个问题的背后是 Log4j(版本 1)配置实践从 .properties 文件到 XML 格式的转变。搜索问题的答案并获得正确答案,但与您使用的配置方法不完全一样,这非常令人沮丧。
我有一个新的 log4j(版本 2)项目即将推出,我想使用 JSON 作为配置格式,而不是默认的 XML 方式(原因:美观和轻微的性能优势(?))。
如果我选择 JSON 配置格式而不是 XML,我会遇到问题或无法获得尽可能多的功能吗?
有什么理由使用编程方法而不是静态配置文件?
用例(理想情况下)是应用程序服务器(从服务器上的某个文件路径)读取单个配置文件。然后,此单个 .json 文件将用于为每个应用程序应用日志级别,并为每个应用程序生成至少 3 个不同的日志(常规、错误、自定义日志级别)。设计用于在服务器上运行的应用程序不到 10 个。
【问题讨论】:
标签: xml json logging log4j log4j2