我可以在哪里以编程方式找到 log4j 日志文件的存储位置?

发布于 2024-09-08 20:58:53 字数 62 浏览 0 评论 0原文

log4j.properties 文件中使用相对路径。

如何以编程方式找到存储日志的绝对路径?

Relative paths are used in the log4j.properties file.

How can i find the absolute path programatically where logs are stored?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

硪扪都還晓 2024-09-15 20:58:53

来自: http://www.gunith.com/2010/11/how-to-get-the-file-path-of-a-log4j-log-file/

假设 log4j.properties 文件如下,

log4j.logger.migrationlog = INFO, migration
log4j.appender.migration = org.apache.log4j.RollingFileAppender
log4j.appender.migration.File = C:/work/log/migration.log
log4j.appender.migration.MaxFileSize=20MB
log4j.appender.migration.MaxBackupIndex=1
log4j.appender.migration.layout = org.apache.log4j.PatternLayout
log4j.appender.migration.layout.conversionPattern = %d %-5p %c - %m%n

在这种情况下,您的 Java 代码应如下所示,

Logger logger = Logger.getLogger("migrationlog"); //Defining the Logger
FileAppender appender = (FileAppender)logger.getAppender("migration");
return new File(appender.getFile());

请注意,第一行使用 migrationlog 创建记录器对象。
migration 用于获取 FileAppender,FileAppender 又调用 getFile() 来获取日志 File 对象。

From: http://www.gunith.com/2010/11/how-to-get-the-file-path-of-a-log4j-log-file/

Assume the log4j.properties file is as below,

log4j.logger.migrationlog = INFO, migration
log4j.appender.migration = org.apache.log4j.RollingFileAppender
log4j.appender.migration.File = C:/work/log/migration.log
log4j.appender.migration.MaxFileSize=20MB
log4j.appender.migration.MaxBackupIndex=1
log4j.appender.migration.layout = org.apache.log4j.PatternLayout
log4j.appender.migration.layout.conversionPattern = %d %-5p %c - %m%n

In such case, your Java code should be as follows,

Logger logger = Logger.getLogger("migrationlog"); //Defining the Logger
FileAppender appender = (FileAppender)logger.getAppender("migration");
return new File(appender.getFile());

Note that migrationlog was used to create the logger object in the first line.
And migration is used to get the FileAppender which in turn calls getFile() to get the log File object.

负佳期 2024-09-15 20:58:53

我认为一种方法是这样的:

由于路径是相对于系统属性“user.dir”的,

所以相对路径 = ./app.log 变为 {user.dir}/app.log

get user.dir as System.getproperty("user.dir").

I think one way is like this:

since the path is relative to system property "user.dir"

so relative path = ./app.log becomes {user.dir}/app.log

get user.dir as System.getproperty("user.dir").
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文