java - 运行时的 Logback java 配置
问题描述
我需要通过一种 java 方法在不同的文件夹中创建大量 .log 文件。
例子:
家庭/工作/文件夹1/log1.log
家庭/工作/文件夹1/log2.log
家庭/工作/文件夹2/log3.log
...................................
在java方法中我创建动态记录器:
private Logger getLogger(String extId, String workId) {
String postfix = String.join(
".",
getClass().getName(),
extId, //folder1, folder2
String.valueOf(workId) //log1, log2
);
return LoggerFactory.getLogger(postfix);
}
我如何将 logback 配置为运行时创建文件?
我看到ch.qos.logback.classic.spi.Configurator,但不明白接下来要做什么。
感谢您的帮助!
解决方案
你为什么关心你的日志文件夹?您可以登录一个文件夹并使用 elk-stack 来验证它们。我总是在每个日志级别使用一个单独的文件夹,并使用 log4j2 配置我的日志模式。当有新日志可用时,Logstash 会立即读取日志并将它们推送到弹性搜索。使用 kibana,你可以做很多很酷的仪表板来分析它们。
推荐阅读
- c++ - 错误:字符串之前的预期主表达式
- c++ - 如何在 C++ 中使用 unsigned char 数组创建 streambuf
- math - 如何计算箭头填充时钟所有给定扇区所需的步数?
- c# - 如何使用 C# 进行 OAuth 1 Twitter API 调用(dotnet core 3.1)
- python - 从Python中的excel文件填充空单元格并重命名多索引标题的列名
- c# - 有没有办法代替双重不冻结项目,而是说无效号码?
- html - 为什么不使用最高的 z-index 允许我的图标覆盖应该在它下面的 div 但它不会?
- gremlin - 通过另一个顶点查询顶点 [GREMLIN]
- json-api - 日期字符串作为 json-api 中的 id
- c - CS50 替换,检查重复项和检查所有字符是否为字母的问题