1
dropwizard의 각 요청과 응답을 다른 파일에 기록하고 싶습니다. 예를 들어 나는 모든 요청이 /var/log/applicationname-request.log에 로그인하고 /var/log/applicationname-response.log드롭 마법사 요청 응답 로깅
에 모든 응답은 어떤 방법이 있나요 원하는 우리 같은 것을 얻을 수 있습니까?
dropwizard의 각 요청과 응답을 다른 파일에 기록하고 싶습니다. 예를 들어 나는 모든 요청이 /var/log/applicationname-request.log에 로그인하고 /var/log/applicationname-response.log드롭 마법사 요청 응답 로깅
에 모든 응답은 어떤 방법이 있나요 원하는 우리 같은 것을 얻을 수 있습니까?
불행히도 DropWizard는 현재 기본적으로이 기능을 지원하지 않습니다. 자세한 내용은 this lively discussion을 참조하십시오.
다행히 DropWizard로 로깅을 구성하지 않으려는 경우 해결 방법이 있습니다.
<configuration>
<appender name="REQUEST" class="ch.qos.logback.core.FileAppender">
<file>/var/log/applicationname-request.log</file>
<append>false</append>
<encoder>
<pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="RESPONSE" class="ch.qos.logback.core.FileAppender">
<file>/var/log/applicationame-response.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>
<logger name="org.example.request">
<level value="DEBUG" />
<appender-ref ref="REQUEST" />
</logger>
<logger name="org.example.response">
<level value="DEBUG" />
<appender-ref ref="RESPONSE" />
</logger>
<root level="warn">
<appender-ref ref="STDOUT" />
</root>
</configuration>
: 클래스 패스에
logback.xml
을 추가하고 그것을 이런 식으로 뭔가를 구성하여
LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
context.reset();
ContextInitializer initializer = new ContextInitializer(context);
initializer.autoConfig();
그런 다음 로깅을 구성 할 수 있습니다 어딘가에 당신의 run
방법에 로깅을 재설정하고 sfl4j의 표준 메커니즘을 사용하여 다시 구성하려면 다음 코드를 호출
그런 다음 당신은 당신의 자원에 그 해당 로거를 잡고 멀리 로그인 할 수 있습니다 :
static final Logger REQUEST_LOG = LoggerFactory.getLogger("org.example.request");
static final Logger RESPONSE_LOG = LoggerFactory.getLogger("org.example.response");
감사합니다, 그것의 작업 F를 이런 식으로. 이 로거를 드롭 마법사 구성으로 바인딩 할 수 있습니까? 그래서, 드롭 마법사는 내부 로깅을 위해 이것을 사용할 수 있습니다. –
로깅을 다시 초기화 할 때 손실 될 수 있기 때문에 DropWizard 구성에서이 로거를 설정할 수 없을 것이라고 생각합니다. 하지만 Logback.xml의 DropWizard 클래스에 대해 별도의 로거를 추가 할 수 있습니다. – condit
@condit 구형이라고 생각합니다 ... 그렇습니까? – OskarD90