配置 log4j 在运行时记录到自定义文件
任何人都可以指导我如何配置 log4j 以记录到我在运行时指定的特定文件。日志文件的名称和路径是在运行时生成的,应用程序必须记录到该特定文件。
通常,log4j.properties 文件中的文件附加器条目指向应用程序将使用的日志文件。但是在这种情况下,我想从命令行读取日志文件路径并将日志记录到该特定文件。
我怎样才能做到这一点?
Can anyone please guide me as to how I can configure log4j to log to a specific file that I specify at run-time.The name and path of the log file are generated at run-time and the application must log to that particular file.
Generally file appender entries in the log4j.properties file points to the log file that will be used by the application.However in this case I would like to read the log file path from the command line and log to that particular file.
How can I achieve this ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您还可以通过 log4j.properties 文件执行此操作。使用下面的示例文件,我添加了系统属性 ${logfile.name}:
然后可以通过两种不同的方式设置日志文件名:
直接在 java 程序中设置系统属性(在调用 log4j 之前)。
System.setProperty("logfile.name","some path/logfile name string");
You can also do this from the log4j.properties file. Using the sample file below I have added the system property ${logfile.name}:
The log file name can then be set two different ways:
In the java program directly by setting a system property (BEFORE you make any calls to log4j).
System.setProperty("logfile.name","some path/logfile name string");
改编自 log4j 文档:
Adapted from the log4j documentation:
也可以通过 log4j.properties 文件中定义的属性来完成
Can be also done by this properties define in log4j.properties file
工作正常并且已经过测试
Working and same has been tested
只需删除您的 log4j 代码并在您的 java 类中替换此代码,它就可以正常工作,无需添加属性或 xml 文件
上面的代码将记录每分钟的日志。
谢谢
Just remove your log4j code and replace this code in your java class it's working good no need to add properties or xml file
The above code will log the logs for every minute.
Thanks