我是unix新手。我有下面的log4j2配置文件。当我在unix环境中使用此文件时,文件应用程序。未创建日志。有人能告诉我如何在unix环境中将日志重定向到文件吗
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} %method - %msg%n" />
</Console>
<File name="file" fileName="C:\Users\ppatrana\Desktop\app.log">
<!-- <Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern> -->
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} %method - %msg%n" />
</File>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="CONSOLE" />
</Root>
<Root level="trace">
<AppenderRef ref="file" />
</Root>
</Loggers>
</Configuration>
我认为你真正的问题是你有两个根记录器。请尝试以下操作:
<Loggers>
<Root level="trace">
<AppenderRef ref="CONSOLE" />
<AppenderRef ref="file" />
</Root>
</Loggers>
您还需要修复@ToYonos提到的文件名。
您必须更改文件名:
<File name="file" fileName="/tmp/app.log">
更多关于linux文件系统:http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
在log4j.xml中追加内容: 如何在java中获取这些参数,并像在log4j2中的上述配置一样创建多文件追加器?请帮帮忙。多谢了。
类似地,我们如何在log4j2中创建自定义的appender,因为我们没有AppenderSkelton类要扩展,而所有其他appender都扩展AppenderBase类。
当我用它以以下错误停止: 我不是舒尔,但似乎。env文件不支持变量的使用。
问题内容: 我有一个配置文件。和我需要它来存储日志提供文件路径。问题是我的代码将作为可运行的jar部署在Unix机器上。因此,如果我传递类似这样的参数: 它会在我的HOME目录中创建一个名为logs的文件夹,并将所有消息写入该目录中的文件。 我将环境变量设置为某个值。我想使用该变量的路径并在该路径下写入消息。我该如何实现? 我试过使用此: 但这不起作用。谁能为这个问题提出解决方案? 问题答案: 解
使用log4j2,我想替换日志消息中的一些字符串(比如用bar替换foo)。在xml配置中,我可以使用以下配置,它可以正常工作。 但我不得不在项目中使用属性文件,而不是使用XML,所以我尝试了以下方法 我得到了这样的错误: 如何在属性文件和log4j2中表示replace,是否可以将xml配置中的所有内容转换为属性配置?我使用的是log4j-api-2.14.0。jar和log4j-core-2.