-2
안녕하세요 MySQL의 테이블에서 오는 로그 파일에 항목을 쓸 요구가 있습니다. 나는 나의 연구를했지만, 내가 찾은 해결책에 만족하지 못했다. 로그 수준을 디버그로 사용하여 SQL 쿼리가 올바르게 실행되고 있는지 여부를 확인하는 방법에 대해 읽었습니다.log4j2를 사용하여 로그 파일에 데이터를 기록 하시겠습니까?
하지만 데이터를 다른 로그 파일에 기록하지 않고 SQL 테이블의 데이터 만 기록하도록합니다. 누구든지 도와 줄 수 있습니까?
다음은 POC로 작성한 코드입니다. 이것은 내 수업 부분입니다.
private static final Logger logger = LogManager.getLogger(LogDemo.class.getName());
private static final Marker QUERY_MARKER = MarkerManager.getMarker("SQL");
public static void main(final String... args) {
// Set up a simple configuration that logs on the console.
logger.info("Ankush Bhan created this");
logger.error("THIS IS TRACE");
}
는 그리고 이것은 내 구성 log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Properties>
<Property name="log-path">C:/Users/712054/Desktop/Source</Property>
</Properties>
<Appenders>
<RollingFile name="info" fileName="${log-path}/info.log"
filePattern="${log-path}/myexample-%d{yyyy-MM-dd}-%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
<PatternLayout>
<pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}: %m%n</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="1 MB"/>
</Policies>
<DefaultRolloverStrategy max="4"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info" >
<AppenderRef ref="info"/>
</Root>
</Loggers>
</Configuration>
내가 이것을 실행
이다, 모두 문은 인쇄 얻고있다. 하지만 log.info 부분 만 원하십니까 ??
당신은 아직 아무것도 시도 해 봤나입니까? – Raptor
간단한 log.info를 사용하여 로그 파일에 로그인하고 구성 파일에 정보 부분 만 기록하는 필터를 넣어 보았습니다. 그러나 우리가 할 수있는 다른 방법이 있습니까? –
jdbc를 사용하여 mysql 테이블을 읽고 log4j2를 사용하여 로그하는 간단한 해결책이 효과적 일 것으로 보인다. Log4j2는이 클래스/로거에 대한 별도의 파일에 로그를 기록하도록 구성 할 수 있습니다. 어떤 합병증? –