在我的应用程序中,我使用Java,Hibernate.
记录:我使用logback.xml
任何人都可以建议是否有办法从Hibernate jar中禁用以下特定类的日志.
要从特定类中删除的LOGGER:ERROR ohejdbc.spi.SqlExceptionHelper
logback.xml:
<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} [%thread] %-5level %logger{36} - %msg%n
</Pattern>
</layout>
</appender>
<logger name="org.springframework" level="error"
additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<root level="error">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud) 我正在尝试替换 logback 记录器中的多个值,该记录器记录 Cassandra CQL 语句并使用了这篇文章中的示例: 使用 logback 屏蔽日志中的敏感数据
其中使用 %replace 函数的调用:
%replace( %replace(%msg){'regex1', 'replacement1'} ){'regex2', 'replacement2'}
Run Code Online (Sandbox Code Playgroud)
就我而言,我想替换 3 个字段 - 姓名、姓氏和密码。使用的语句是:
%replace(%replace(%replace(%msg){"first_name='.*'", "first_name='xxxxx'"}){"last_name='.*'", "last_name='yyyyyy'"}){"password='.*'", "password='zzzzzz'"}%n
Run Code Online (Sandbox Code Playgroud)
它似乎工作正常,但我注意到如果字段的顺序不同,有时值会被删除。例如,
1)当语句按以下顺序时就可以了:
执行:
UPDATE usertest.users SET password='secret_pw', last_name='Smith', first_name='John' where user_id = 1745;
Run Code Online (Sandbox Code Playgroud)
记录:
UPDATE usertest.users SET password=zzzzzz, last_name=yyyyyy, first_name=xxxxx where user_id = 1745;
Run Code Online (Sandbox Code Playgroud)
2) 在这种情况下,姓氏被删除
执行:
UPDATE usertest.users SET password='secret_pw', first_name='John', last_name='Smith' where user_id = 1745;
Run Code Online (Sandbox Code Playgroud)
记录:
UPDATE usertest.users SET password=zzzzzz, first_name=xxxxx where user_id = 1745;
Run Code Online (Sandbox Code Playgroud)
3) 在这种情况下密码被删除
执行:
UPDATE usertest.users SET last_name='Smith', …Run Code Online (Sandbox Code Playgroud) 我的日志被提取,管道并合并到elasticsearch中.多线事件很难跟踪和诊断.
而不是使用收集器和正则表达式来组合单个记录中的异常行,是否有一种方法可以使用logback配置将Exception堆栈跟踪放在一行上?
假设我有两个Java类:foo.ClassA和bar.ClassB.要打印(根)异常堆栈跟踪,我需要只打印foo包的帧.我的问题是我是如何配置Logback来做到这一点的.
我知道该功能已在Logback中实现,我需要使用evaluator.但我无法理解.我尝试了这里描述的例子没有成功(毫不奇怪).
任何人都可以提供过滤堆栈跟踪帧的确切配置吗?
<configuration>
<evaluator name="FILTER">
<expression>¿what should I put here?</expression>
</evaluator>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%thread] %-5level - %msg%n%rEx{full, FILTER}</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud) 我正在尝试从应用程序日志中删除所有空格和新行。有什么方法可以使用 logback 模式从附加日志中删除所有下一行?