小编Dan*_*ino的帖子

使用slf4j和log4j2动态添加appender

我想动态创建一个appender并将其添加到记录器.但是,这似乎不可能与slf4j.我可以将我的appender添加到log4j记录器,但后来我无法使用slf4j LoggerFactoy检索记录器.

我想做什么:我创建一个测试类(不是jUnit测试)并在构造函数中传递一个记录器供测试类使用.测试类的每个实例都需要它自己的记录器和追加器来保存日志,以便以后可以在HTML报告中使用它.

我尝试了什么(为简单起见,我创建了一个jUnit测试):

  import static org.junit.Assert.assertEquals;

  import java.util.LinkedList;
  import java.util.List;

  import org.apache.logging.log4j.core.LogEvent;
  import org.junit.Test;
  import org.slf4j.helpers.Log4jLoggerFactory;

  import ch.fides.fusion.logging.ListAppender;

  public class ListAppenderTest {

      @Test
      public void test() {

          String testName = "test1";

          // the log messages are to be inserted in this list
          List<LogEvent> testLog = new LinkedList<>();

          // create log4j logger
          org.apache.logging.log4j.core.Logger log4jlogger = (org.apache.logging.log4j.core.Logger) org.apache.logging.log4j.LogManager
                                          .getLogger("Test:" + testName);

          // create appender and add it to the logger
          ListAppender listAppender = new ListAppender("Test:" + testName + ":MemoryAppender", testLog);
          log4jlogger.addAppender(listAppender); …
Run Code Online (Sandbox Code Playgroud)

java logging slf4j log4j2

16
推荐指数
3
解决办法
3万
查看次数

处理Spring Boot外部化属性值

我的任务是在配置文件中混淆密码.虽然我不认为这是正确的方法,但管理者不同意......

所以我正在开发的项目基于Spring Boot,我们正在使用YAML配置文件.目前密码是纯文本的:

spring:
    datasource:
        url: jdbc:sqlserver://DatabaseServer
        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
        username: ele
        password: NotTheRealPassword
Run Code Online (Sandbox Code Playgroud)

我们的想法是使用一些支持模糊或加密密码的特殊语法:

spring:
    datasource:
        url: jdbc:sqlserver://DatabaseServer
        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
        username: ele
        password: password(Tm90VGhlUmVhbFBhc3N3b3Jk)
Run Code Online (Sandbox Code Playgroud)

为了使其工作,我想使用正则表达式解析属性值,如果匹配则将值替换为deobfuscated/decrypted值.

但是我如何拦截财产价值呢?

spring spring-boot

8
推荐指数
1
解决办法
5594
查看次数

标签 统计

java ×1

log4j2 ×1

logging ×1

slf4j ×1

spring ×1

spring-boot ×1