Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging JHipster-日志文件_Logging_Jhipster - Fatal编程技术网

Logging JHipster-日志文件

Logging JHipster-日志文件,logging,jhipster,Logging,Jhipster,我有一个JHipster应用程序正在运行,我想知道日志文件在哪里。它们是在哪里产生的?(这是一个新手问题,但找不到任何东西) 我在默认配置的“Dev”配置文件中。(没有更改任何关于application-dev.yml的内容) 谢谢。我还没有深入研究这个问题,但很快就会。我认为它的工作原理类似于log4j/slf4j。您需要使用文件规范定义一个appender 罗布好的 下面是答案: 您可以在参考资料目录中找到一个xml文件logback.xml 控制台配置: <appender name

我有一个JHipster应用程序正在运行,我想知道日志文件在哪里。它们是在哪里产生的?(这是一个新手问题,但找不到任何东西)

我在默认配置的“Dev”配置文件中。(没有更改任何关于application-dev.yml的内容)


谢谢。

我还没有深入研究这个问题,但很快就会。我认为它的工作原理类似于log4j/slf4j。您需要使用文件规范定义一个appender

罗布

好的

下面是答案:

您可以在参考资料目录中找到一个xml文件logback.xml

控制台配置:

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <charset>utf-8</charset>
        <Pattern>[%p] %c - %m%n</Pattern>
    </encoder>
</appender>

utf-8
[%p]%c-%m%n
用于文件

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  ...
</appender>
<root level="${logback.loglevel}">
    <appender-ref ref="CONSOLE"/> <!-- For Console Log -->
    <appender-ref ref="FILE"/> <!-- For File Log -->
</root>

...
在文件末尾引用它

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  ...
</appender>
<root level="${logback.loglevel}">
    <appender-ref ref="CONSOLE"/> <!-- For Console Log -->
    <appender-ref ref="FILE"/> <!-- For File Log -->
</root>

src/main/resources/logback.xml文件包含JHipster日志记录配置。作为参考,还有一个附加的src/test/resources/logback test.xml文件,用于运行单元测试

默认情况下,JHipster只记录到控制台。当使用
mvn spring boot:run
gradlew bootRun
(默认构建目标)运行时,日志将显示在控制台窗口中。但是,如果在Tomcat这样的web容器中运行,web容器可能会自动将日志保存到特定于容器的位置。例如,Tomcat将打印到控制台的所有日志消息保存到[CATALINA_HOME]/logs/CATALINA.out

如果希望将应用程序重新配置为将日志打印到文件中,可以通过取消注释和自定义上述logback配置文件中的文件追加器声明,然后将对文件追加器的引用添加到根日志记录器来实现。例如:

...

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>90</maxHistory>
    </rollingPolicy>
    <encoder>
        <charset>utf-8</charset>
        <Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
    </encoder>
</appender>

...

<root level="${logback.loglevel}">
    <appender-ref ref="CONSOLE"/> <!-- Optionally remove this -->
    <appender-ref ref="FILE"/> <!-- Add this -->
</root>

...
。。。
日志文件。%d{yyyy-MM-dd}.log
90
utf-8
%d%-5级[%thread]%记录器{0}:%msg%n
...
...

默认的jh配置src\main\resourcess\logback-spring.xml:


真的

我也面临同样的问题,但是在做了很多更改之后,日志文件被更改了,但是日志消息没有插入到日志文件中

我对logback-spring.xml做了以下更改

<?xml version="1.0" encoding="UTF-8"?>



日志文件。%d{yyyy-MM-dd}.log
90
utf-8
%日期%level[%thread]%记录器{10}[%file:%line]%msg%n
512
真的

在开发模式下,修改logback-spring.xml只会创建日志文件,但不会将数据记录到此文件(文件已创建,但为空)。 我必须在applicato-dev.yml文件的“logging”键中添加“file”键:

日志记录:

file: *path/log_file_name.log* 
(例如:

日志记录:

file: logs/application1.log

)

我使用的是jhipster v2.27.2,我没有logback.xml文件,我有logback-spring.xml文件,但不管我在这里做了什么更改,它们都不会影响控制台日志的输出。有什么变化吗?谢谢这是正确的,它现在存储为logback-spring.xml,取消注释顶部提到“文件”的xml,它将开始记录到项目根目录下的日志文件中。启用了注释,但我没有看到在项目根文件夹中生成任何日志文件。我在main方法中添加了一些信息,但是没有生成日志文件。很好!谢谢分享