Привет У меня есть требование записать записи в файлы журналов, поступающие из таблицы в 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 для входа в файлы журнала, а в файле конфигурации я помещал фильтры, чтобы просто зарегистрировать информацию. Но есть ли другой способ, который мы можем сделать? –
Кажется, что простое решение для чтения из таблицы mysql с использованием jdbc и ведения журнала с помощью log4j2 должно работать. Log4j2 можно настроить для записи журналов в отдельный файл для этого класса/регистратора. Любые осложнения? –