Java 如何在执行方法时写入和保存日志文件(通过应用程序属性设置级别)

Java 如何在执行方法时写入和保存日志文件(通过应用程序属性设置级别),java,spring-boot,logging,logback,Java,Spring Boot,Logging,Logback,我是Springboot新手,需要帮助,我想执行一个方法,用变量值保存日志文件,我在logback.xml中插入了参数,但日志是在运行应用程序时生成的,并且是白色的。 另一件事,我通过环境变量定义了我的日志级别,我如何使用这个已经存在于我的应用程序属性中的变量?? 多谢各位 <configuration> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>${us

我是Springboot新手,需要帮助,我想执行一个方法,用变量值保存日志文件,我在logback.xml中插入了参数,但日志是在运行应用程序时生成的,并且是白色的。 另一件事,我通过环境变量定义了我的日志级别,我如何使用这个已经存在于我的应用程序属性中的变量?? 多谢各位

<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${user.home}/bws.log</file>
    <append>false</append>
    <encoder>
        <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
    </encoder>
</appender>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>

    </encoder>
</appender>

<root level="debug">
    <appender-ref ref="STDOUT"/>
</root>

}

您可以在logback xml文件中将过滤器添加到您的appender中

<filter class="ch.qos.logback.classic.filter.LevelFilter">
     <level>${BWS_LOG_LEVEL}</level>
</filter>
LevelFilter
相比,
ThresholdFilter
将在level上启动 等于或高于指定的
${BWS\u LOG\u LEVEL}

已更新

我注意到您没有激活appender,请尝试以下操作

<root level="DEBUG">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="FILE"/>
</root>

这会将所有日志传递到
STDOUT
,另外,包/class
中的所有日志都会传递到.package.here.logs
文件附录中。

谢谢,但是如何写入该文件?由于我只在运行该方法时才编写,所以每次运行应用程序时都会生成一个空白文件……请参阅其他@Manzini
code
public static void totalAlunos(int al){logger.debug(“Total de alunos no banco de dados:+al,Logs.class.getSimpleName());//这是我需要写入日志文件的内容,但是要获得通过环境变量设置的级别}
code
谢谢,但是如何执行方法写入文件呢?我的日志文件是空白的,我不明白你的意思。您想在代码中动态配置此行的日志级别吗?不,现在我们先不考虑级别,我需要在执行此方法时,在文件中写入学生数(变量al)public static void totalAlunos(int al){logger//“número de alunos no database”+al
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
     <level>${BWS_LOG_LEVEL}</level>
</filter>
<root level="DEBUG">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="FILE"/>
</root>
<root level="INFO">
    <appender-ref ref="STDOUT"/>
</root>
<logger name="your.package.here.Logs" level="off" additivity="false">
  <appender-ref ref="FILE"/>
</logger>