Log4j2 JDBCAppender не вставляет запись в базу данных MySQL - PullRequest
0 голосов
/ 23 октября 2019

Создание примера приложения, которое будет хранить информацию журналов в файл, а также в БД. Запись в файл происходит, но не удалось вставить в БД

Я использую log4j 2.12 Ниже файл свойств, который я написал для чтения оператора журнала

status = error
name = PropertiesConfig

#Make sure to change log file path as per your need
property.filename = /Users/Downloads/debug.log

rootLogger.level = debug
#rootLogger.appenderRefs = database
#rootLogger.appenderRef.database.ref = DB

filters = threshold 
filter.threshold.type = ThresholdFilter
filter.threshold.level = trace

appenders = rolling,console,db

appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${filename}
appender.rolling.filePattern = /Users/Downloads/Previous/debug-backup-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 20

loggers = rolling1

logger.rolling1.name = com.abc.common.util
logger.rolling1.level = debug
logger.rolling1.additivity = true
logger.rolling1.appenderRef.rolling.ref = RollingFile

#logger.rolling2.name = org.springframework
#logger.rolling2.level = warn
#logger.rolling2.additivity = false
#logger.rolling2.appenderRef.stdout.ref = STDOUT
#logger.rolling2.appenderRef.rolling.ref = RollingFile

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

#DB configuration

appender.db.type = JDBC
appender.db.name = org.apache.log4j.jdbc.JDBCAppender
appender.db.connectionSource.type= DriverManager
appender.db.connectionSource.connectionString = jdbc:mysql://127.0.0.1:8008/
appender.db.connectionSource.username = root
appender.db.connectionSource.password = localadmin
appender.db.connectionSource.driverClassName = com.mysql.cj.jdbc.Driver
appender.db.tableName = error_log

appender.db.columnConfigs[0].type = Column
appender.db.columnConfigs[0].name = id
appender.db.columnConfigs[0].pattern =%X{id}
appender.db.columnConfigs[0].isUnicode =false

appender.db.columnConfigs[1].type = Column
appender.db.columnConfigs[1].name = error_message
appender.db.columnConfigs[1].pattern =%msg
appender.db.columnConfigs[1].isUnicode =false 

Java-код для записи логгера

package com.zinier.common.util;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;


public class ZCustomLogger {

    static final Logger logger = LogManager.getLogger(ZCustomLogger.class);

    public static void main(String[] args) {

        ZCustomLogger log = new ZCustomLogger();
        log.addLog("gyana logging");
    }

    private void addLog(String parameter){

        System.out.println("Hello world");
        logger.debug("This is debug log");
        logger.info("This is INFo log");
        logger.warn("This is warn : " + parameter);
        logger.error("This is error : " + parameter);
        logger.fatal("This is fatal : " + parameter);

    }
}

В консоли нет сообщений об ошибках, но в БД нет записей. Любое предложение высоко ценится.

...