log4j2 - 当我们有多个包时,log4j2.properties 中的 logger.rolling 名称应该是什么?
问题描述
我在我的 maven 项目中创建了多个包,我正在使用 Junit 和 Cucumber。我之前使用的是 log4j,现在我想将它迁移到 log4j2。我刚刚搜索了log4j2属性文件格式,发现文件中有以下配置:
logger.rolling.name = com.example.my.app
logger.rolling.level = debug
logger.rolling.additivity = false
logger.rolling.appenderRef.rolling.ref = RollingFile
当我的项目中有多个包时,我应该在 logger.rolling.name 中提供什么包?
解决方案
您可以使用 Root 记录器作为您不想指定的包的全部捕获,然后为您想要的任何前缀创建记录器。例如,如果您在以下包中有类 - com.example.my.app、com.example.your.stuff、com.example.my.stuff - 您可以为每个包配置记录器,或者如果您配置记录器那么对于 com.example.my ,但 app 和 stuff 包将使用它。如果你为 com.example 配置了一个记录器,那么所有三个包都会使用它(除非你有一个更匹配的记录器)。
推荐阅读
- php - Laravel 或 PHP 是否有存储文件夹中的最大文件大小?
- axios - 从 axios 获取并使用 react-router 后,React 状态未在功能组件中更新
- node.js - 电子锻造包错误:找不到模块
- html - 图像 src 一段时间后不显示,但链接在浏览器中有效
- swift - UIDocumentPickerViewController-didPickDocumentsAt 委托方法未在 iOS 11 中调用,在 iOS 14 中工作正常
- r - 在基于 beta 值的 lda 主题建模中命名主题
- ruby-on-rails - 多对多嵌套表单,嵌套表单+集合选择具有附加属性
- css - 当我们有 2 个子组件时,如何将样式从父组件应用到子组件
- azure - 视频索引器逻辑应用程序无效模板错误
- python - 如何在 Pandas DataFrame 中编辑 Tensorflow 数据集?