我使用 logback 作为我的日志记录框架,并且有几个作业运行main
具有不同参数的相同函数,并且希望为每个作业创建一个日志文件并用作业名称命名日志文件。
例如,如果我有a,b,c
所有运行MyClass.main()
但参数不同的作业,那么我希望看到a-{date}.log, b-{date}.log, c-{date}.log
.
我可以通过在 my中{date}
指定 a 来实现该部分,但我不确定如何(或者是否可能)动态创建文件名的前缀(作为作业的名称)。<fileNamePattern>myjob-%d{yyyy-MM-dd}.log</fileNamePattern>
logback.xml
有没有办法在 logback 中动态命名日志文件?是否有另一个日志框架使这成为可能?
作为一个后续问题,我是否只是采取了一种糟糕的方法来让多个作业main
使用不同的参数调用相同的函数并且想要一个以每个作业命名的日志文件?如果是这样,是否有针对这种情况的标准/最佳实践解决方案?
编辑:我想在作业名称之后命名每个日志文件的原因是每个作业自然定义了一个“工作单元”,如果其中一个作业失败,我更容易找到合适的日志文件。我可以简单地为作业使用滚动日志文件,a,b,c
但我发现查看日志并查明每个作业的开始和结束位置对我来说更加困难。