首先,我尝试了所有存在的解决方案,但没有一个工作,所以我不想从任何人说这个问题是重复的。
我无法使用 logback 登录到文件,但我可以登录到控制台,没有问题。
我的logback.xml
文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
<!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
<!--for further documentation-->
<append>true</append>
<File>/root/connector/logs/connector.log</File>
<encoder>
<!-- was: %d{yyyy-MM-dd HH:mm:ss}%5p [%t] (%F:%L) - %msg%n -->
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] \(%class{25}:%line\) - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- By setting the name to .gz here, we get free compression. -->
<fileNamePattern>/root/connector/logs/connector.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
</rollingPolicy>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
我甚至尝试给予所有用户在文件夹中写入的权限,但这不起作用。
drwxrwxrwx.2没有人没有人4096四月29日08:24日志
我再重复一遍,我尝试了所有存在的解决方案,但没有一个有效。
8条答案
按热度按时间am46iovg1#
也许下面的链接会对你有所帮助。
https://dzone.com/articles/do-not-use-relative-path
EDIT:这个链接说“* 不要在回登录时使用相对路径 *"。但是我发现了一个测试它的机会。我发现了一些奇怪的输出。
我的测试平台是一个Web应用程序,此应用程序在Windows上的Apache Tomcat下运行。配置和输出:
<file>/logs/output.log</file>
----------------〉在C:\logs文件夹中创建日志文件<file>C:/logs/output.log</file>
--------------〉在C:\logs文件夹中创建日志文件<file>../logs/output.log</file>
----------------〉在tomcat logs文件夹中创建日志文件<file>logs/output.log</file>
------------------〉在tomcat bin\logs文件夹中创建日志文件有时日志文件没有被创建,我认为,主要原因是缺少用户/应用程序的创建文件权限。
dojqjjoe2#
添加此部分
代替
写入项目包名称,而不是
com.my.package
希望它能解决你的问题。
更新:
将日志发送到文件
所有日志记录都将重定向到文件
c:/logs/debug.log
。此外,此日志文件将每天存档或文件大小大于10MB。日志返回. xml
资源链接:
kxkpmulp3#
我也面临着同样的问题。在我的例子中,我使用的是带有Tomcat的Eclipse。
如果为(绝对路径),则没有问题,将在指定的路径中创建日志文件。
else if(Relative path && working in eclipse)则在相对于eclipse安装目录的路径中创建日志文件。
else if(相对路径&& deployed in tomcat)则在tomcat的bin文件夹的相对路径内创建日志文件
2mbi3lxu4#
当我遇到这个问题时,我不得不添加logback.log文件所在的文件夹作为源文件夹。在eclipse中,只需右键单击文件夹-〉构建路径-〉用作源文件夹。
ddarikpa5#
创建一个存储库,将其作为源文件夹包括在内,并将logback.xml文件放入其中。要将存储库包括到源文件夹中,请单击“存储库”-〉“构建路径”-〉“用作源文件夹
zfycwa2u6#
在我的例子中,它实际上是我在pom.xml中添加的忽略xml属性文件的东西。
好了,成功了
iecba09b7#
我缺少依赖项ch.qos. logback-classic
h79rfbju8#
在我的例子中,由于under标记的值/模式不是唯一的,所以没有为新的附加器创建该文件,也就没有为新的附加器创建日志文件。