如何在Java代码中指定log4j2的日志目录?

彩虹

我的应用程序具有我创建的日志记录系统。但是我想用log4j2代替它。但是我遇到了在log4j2中配置日志目录的问题。是的,我知道可以登录到配置文件中所述的固定目录:

    <RandomAccessFile  name="FILE" fileName="l4j2/${date:yyyy-MM-dd_hh-mm-ss}.log" append="true"  immediateFlush="false">
        <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss}  %-6p  %C{1}.%t:%L  >>> %m%n"/>
    </RandomAccessFile >

但是我想将数据记录在用户“我的文档”目录中,该目录可以在启动Java应用程序时特定。可能吗?

彩虹

我知道了。

从修改log4j2.xml

<RandomAccessFile  name="FILE" fileName="l4j2/${date:yyyy-MM-dd_hh-mm-ss}.log" append="true"  immediateFlush="false">

至:

<RandomAccessFile  name="FILE" fileName="${sys:log4j.saveDirectory}/${date:yyyy-MM-dd_hh-mm-ss}.logd" append="true" immediateFlush="false">

添加到Java代码:

 System.setProperty("log4j.saveDirectory", getMyDocuments());

您可以使用以下方法估算用户的“我的文档”:

String getMyDocuments()
{
    String out = ".\\";
    try
    {
        Process process = Runtime.getRuntime().exec("reg query \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\" /v personal");
        process.waitFor();
        StringWriter sw = new StringWriter();
        int c;
        while ((c = process.getInputStream().read()) != -1)
        {
            sw.write(c);
        }
        String output = sw.toString().replaceAll("\t", "    ");
        String[] parsed = output.split("\\t|\\s{2,}");
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
    return out;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在log4j2中指定日志文件

来自分类Dev

如何在使用Eclipse创建的可运行jar中指定外部log4j2配置文件

来自分类Dev

Log4j2:如何在控制台日志中查找是否已找到日志配置文件

来自分类Dev

Log4j2,如何使用命令行参数控制日志记录输出目录

来自分类Dev

如何使用log4j2记录log4j日志

来自分类Dev

如何使用log4j2记录log4j日志

来自分类Dev

获取Log4j2日志文件位置以写入包含日期的目录

来自分类Dev

如何在log4j2中更改htmllayout

来自分类Dev

如何在log4j2中配置StatisticsCsvLayout

来自分类Dev

如何使用JMSAppender log4j2 JAVA

来自分类Dev

使用Log4j2的CXF 3.1 wsdl2java日志记录

来自分类Dev

如何在Log4Net目录中指定日期?

来自分类Dev

log4j2输出未写入日志文件

来自分类Dev

Log4j2配置日志到文件

来自分类Dev

关闭log4j2启动调试日志记录

来自分类Dev

来自log4j2的奇怪日志

来自分类Dev

JBoss日志记录包装的log4j2

来自分类Dev

使用 log4j2 进行日志记录

来自分类Dev

如何更改tomcat上的log4j2日志记录路径?

来自分类Dev

Log4j2:如何为每个用户将日志写入单独的文件?

来自分类Dev

如何使用log4j2对不同的类使用不同的日志记录级别?

来自分类Dev

如何屏蔽log4j2日志消息

来自分类Dev

如何将字段添加到log4j2的JSON日志

来自分类Dev

如何将log4j2与不同的日志文件一起使用?

来自分类Dev

如何使log4j2每个日志调用记录一个文件?

来自分类Dev

如何使用log4j2(xml中的MDC)在不同的文件中写入不同的日志?

来自分类Dev

如何更改tomcat上的log4j2日志记录路径?

来自分类Dev

将log4j2日志在指定大小的文件中保留一周

来自分类Dev

如何使用SLF4J和Log4j2记录致命(或任何自定义日志级别)

Related 相关文章

热门标签

归档