我使用的logback作为我的日志框架,并有几个有运行相同main
功能使用不同的参数,并希望创建为每个作业日志文件并将其命名与作业名称的日志文件的工作。有没有办法在java中使用dyamic名称日志文件?
例如,如果我的工作a,b,c
所有运行MyClass.main()
但具有不同的参数,那么我想看到a-{date}.log, b-{date}.log, c-{date}.log
。
我可以在我的logback.xml
指定<fileNamePattern>myjob-%d{yyyy-MM-dd}.log</fileNamePattern>
实现{date}
的一部分,但我不知道如何(或者如果它甚至有可能)创建的文件名的前缀动态(是作业的名称)。
有没有办法在logback中动态命名日志文件?是否有另一个日志框架使这成为可能?
作为一个后续问题,我只是采取了一种错误的方法,让多个作业使用不同的参数调用相同的main
函数,并希望在每个作业之后命名一个日志文件?如果有的话,是否有这种情况下的标准/最佳实践解决方案?
编辑:为什么我想命名每个日志文件之后的作业名称是每个工作自然定义一个“工作单元”,它更容易找到适当的日志文件,以防万一工作失败。我可以简单地使用滚动日志文件进行作业a,b,c
,但我发现查看日志并确定每个作业的开始和结束位置很困难。