标签: logback

更改正在运行的Actor系统的日志级别?

我resources/application.conf看起来如下.

akka {
  loggers = ["akka.event.slf4j.Slf4jLogger"]
  loglevel = "DEBUG"
}
Run Code Online (Sandbox Code Playgroud)

我正在创建一个胖罐,使用$sbt assembly它包含这个application.conf并部署这个jar来运行我的actor.现在我可以在运行时更改我的程序的日志级别(从DEBUG到INFO)而不需要简化我的actor系统吗?如果有,怎么样?

我的logback.xml如下所示:

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

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <target>System.out</target>
        <encoder>
            <pattern>%X{akkaTimestamp} %-5level[%thread] %logger{0} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/myjobs.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>logs/myjobs.%i.log.zip</fileNamePattern>
            <minIndex>1</minIndex>
            <maxIndex>5</maxIndex>
        </rollingPolicy>

        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>100MB</maxFileSize>
        </triggeringPolicy>

        <encoder>
            <pattern>%date{yyyy-MM-dd} %X{akkaTimestamp} %-5level[%thread] %logger{1} - %msg%n</pattern>
        </encoder>
    </appender>


    <logger name="akka" level="INFO" />

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

</configuration> 
Run Code Online (Sandbox Code Playgroud)

logging scala logback akka

2
推荐指数
1
解决办法
1705
查看次数

通过 clojure.tools.logging 在同一命名空间中使用多个记录器

我正在使用clojure.tools.logging,它使用slf4j工厂来实例化Logback记录器。

我想要做的是能够让我的 DAO 命名空间将正常消息记录到应用程序日志中,但将所有 SQL 查询记录到查询日志中。

查看clojure.tools.logging 代码,这看起来不太可能,但我希望有人能证明我错了。:)

如果 clojure.tools.logging 不能做到这一点,有人可以建议另一种可以完成我想要的日志记录工具吗?或者是否可以在 Logback 的配置文件中进行路由?

logging clojure logback

2
推荐指数
1
解决办法
288
查看次数

Jersey 使用什么样的日志记录以及如何使用 Logback 拦截它?

我想用 Logback 拦截 Jersey 的日志记录,但我不确定如何。有人可以指点一下吗?

java logging jersey logback

2
推荐指数
1
解决办法
1393
查看次数

如果我仍然登录文件,禁用Logback控制台附加程序会提高性能吗?

如果使用FileAppender,禁用Logback控制台附加程序会以任何方式提高性能吗?

我将PlayFramework 2.3与Logback一起用作日志框架。我必须将应用程序日志存储在相对较慢的文件中。禁用标准控制台附加程序以提高日志记录性能是否有意义,还是过早的优化呢?即使启用了控制台记录器,记录器性能也不是我的问题。我很好奇在这种情况下是否重要。

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${application.home}/logs/application.log</file>
    <encoder>
        <pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
    </encoder>
</appender>
Run Code Online (Sandbox Code Playgroud)

禁用此附录?

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern>
    </encoder>
</appender>
Run Code Online (Sandbox Code Playgroud)

java performance logging logback playframework

2
推荐指数
1
解决办法
2929
查看次数

通过 xml 配置的 Logback 列表属性

我正在编写自己的布局,并且希望能够将配置文件中的值列表传递给它。

我的布局代码:

public class MyPatternLayout extends PatternLayout {

    private ArrayList<String> test;

    public ArrayList<String> getTest() {
        return test;
    }

    public void setTest(ArrayList<String> test) {
        this.test = test;
    }

    @Override
    public String doLayout(ILoggingEvent event) {
        return test.stream().collect(Collectors.joining(", ")); //temporary, for testing purposes only
    }
}
Run Code Online (Sandbox Code Playgroud)

配置:

<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="rpost.MyPatternLayout">
                <pattern>%date{HH:mm:ss.SSS} [%t] %-5p %c{40}:%L - %m%n</pattern>
                <test>value 1</test>
                <test>value 2</test>
            </layout>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

上面的示例不起作用 - 它什么也不打印。

是否可以配置列表属性?怎么做到呢?

java logging logback

2
推荐指数
1
解决办法
1079
查看次数

Logback 配置——如何包含 Spring 应用程序版本

出于分析目的,我想在所有日志条目中记录应用程序版本(理想情况下,我希望通过编辑 logback-spring.xml 文件而不是编写任何 Java 代码来做到这一点)。

我已经成功记录了 spring 应用程序名称。

请注意显示正确应用程序版本的示例启动日志消息。

根据我的成绩构建 - 我是否使用正确的实现版本更新清单文件。对于 Spring 构建执行器,我还设置了 info.build.version=${version}。

见下面的例子——我不知道该放什么???正确记录应用程序版本。我尝试了许多键,包括:info.build.version、application.version、spring.application.version 等..

 <springProperty name="APP_NAME" source="spring.application.name"/>

 <springProperty name="APP_VERSION" source="???"/>

 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
     <encoder>
         <pattern> version=${APP_VERISON} site=${APP_NAME}  %msg%n </pattern>
     </encoder>
 </appender>
Run Code Online (Sandbox Code Playgroud)

使用 PID 14147 启动应用程序 v1.0.0-SNAPSHOT

spring logback spring-boot

2
推荐指数
1
解决办法
4760
查看次数

在 spring-boot 中,如何使用应用程序属性记录 MDC?

在我的spring-boot项目中,我使用 Logback-"Mapped Diagnostic Context" MDC来记录诊断上下文。

默认情况下不记录 MDC 数据(到控制台或文件)。

有没有办法仅使用应用程序属性将此 MDC 日志记录到输出日志中?

java logback mdc spring-boot

2
推荐指数
1
解决办法
5315
查看次数

Spring boot logback 不记录到文件

我在我的 web mvc 应用程序中使用 spring-boot-start-web 依赖项并使用 logback。我的静态资源目录中有一个 logback-spring.xml 文件,其配置如下

<property name="MY_LOG_FILE" value="C:\mylog.log" />

<appender name="MY_APPENDER"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <encoder>
        <pattern>${FILE_LOG_PATTERN}</pattern>
    </encoder>
    <file>${MY_LOG_FILE}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <fileNamePattern>${MY_LOG_FILE}.%i</fileNamePattern>
    </rollingPolicy>
    <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <MaxFileSize>10MB</MaxFileSize>
    </triggeringPolicy>
Run Code Online (Sandbox Code Playgroud)

<logger name="com.mydomain.myapp" level="INFO" additivity="false">
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="MY_APPENDER" />
</logger>
Run Code Online (Sandbox Code Playgroud)

当我在控制器中使用记录器时,它会正确记录到控制台输出,但找不到该文件。至于我可以在网上找到的内容,看起来我设置正确,但显然我不是。

编辑:它最终通过在父项目上执行 Maven 更新项目来解决,该项目是更大的模块系统的一部分。

java logback spring-boot

2
推荐指数
1
解决办法
8473
查看次数

使用 logback 格式化日志

我正在开发一个应用程序 spring-boot。我将 logback 用于日志端。我需要像这种格式一样格式化日志。

aaa-mm-dd HH:mm:ss ## level ## TheNameOfMyApplication ## typeOfLogs ## class  ## message
Run Code Online (Sandbox Code Playgroud)

这是我的文件 logback.xml 的片段

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

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
        
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} ## %-5level## TheNameofMyApplication ## %logger{36}##%msg%n
        </Pattern>
        </layout>
    </appender>

    <logger name="org.springframework.web" level="info" additivity="false">
        <appender-ref ref="STDOUT" />
    </logger>

    <logger name="com.myapp" level="info" additivity="false">
        <appender-ref ref="STDOUT" />
    </logger>

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

</configuration>
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能传入logger.info()参数,例如我的日志类型。我有三种类型:

  • 技术、应用及其他

此致

java logging spring logback spring-boot

2
推荐指数
1
解决办法
3165
查看次数

How to stop logging in jetty application

I am using jetty to implement websocket client. This is producing a lot of noise in log file in start up of application and when failed reconnect websocket. Actually in case of websocket connection failure i am retrying after a minute so after every minute it it producing this kind of log:

2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.log:173 - Logging to Logger[org.eclipse.jetty.util.log] via org.eclipse.jetty.util.log.Slf4jLog
2017-06-12 14:23:04 | INFO  | [main] c.h.h.v.c.WebSocketListener:53 - STARTING WS Client
2017-06-12 14:23:04 | DEBUG …
Run Code Online (Sandbox Code Playgroud)

java jetty logback slf4j embedded-jetty

2
推荐指数
1
解决办法
1291
查看次数