将所有日志编码为Slf4j

问题描述 投票:1回答:1

有没有什么好的方法可以自定义日志到Slf4j

我想在打印到控制台之前对所有日志进行ESAPI编码。有没有更好的方法可以做到这一点。

当前我使用

log.info("This is my log {}", id); 

是否可以不使用EsAPiLogger来实现。在多个地方做这将是一个巨大的转变

我不想更改代码中的实现。

对此有任何帮助

java slf4j
1个回答
0
投票

首先创建ESAPI.properties并将Log的选项设置为LogLevel=INFOLogEncodingRequired=true

在您的应用程序调用中,我尝试了以下代码,因此可以正常运行:

import org.owasp.esapi.ESAPI;
import org.owasp.esapi.Logger;

public class LogEspai {

  public static void main(String[] args) {
    ESAPI.getLogger(LogEspai.class).info(Logger.EVENT_SUCCESS,"Vishwa Ratna");
  }
}

要利用以上这些,您需要设置ESAPI.properties,否则您将得到以下错误。

ESAPI: WARNING: System property [org.owasp.esapi.opsteam] is not set
ESAPI: WARNING: System property [org.owasp.esapi.devteam] is not set
ESAPI: Attempting to load ESAPI.properties via file I/O.
ESAPI: Attempting to load ESAPI.properties as resource file via file I/O.
ESAPI: Not found in 'org.owasp.esapi.resources' directory or file not readable: C:\......\ESAPI.properties
ESAPI: Not found in SystemResource Directory/resourceDirectory: .esapi\ESAPI.properties
© www.soinside.com 2019 - 2024. All rights reserved.