Sha256: 7181668c66d08c575ff593b6b23d4864e9fcdf657612b2554eb6ee9e79d2707d

Contents?: true

Size: 1.65 KB

Versions: 7

Compression:

Stored size: 1.65 KB

Contents

package org.embulk.exec;

import java.util.Properties;
import org.slf4j.ILoggerFactory;
import org.slf4j.LoggerFactory;
import org.apache.log4j.PropertyConfigurator;
import com.google.inject.Inject;
import com.google.inject.Provider;
import org.embulk.config.ConfigSource;

public class LoggerProvider
        implements Provider<ILoggerFactory>
{
    @Inject
    public LoggerProvider(@ForSystemConfig ConfigSource systemConfig)
    {
        // TODO system config
        Properties prop = new Properties();

        final String level;
        String logLevel = systemConfig.get(String.class, "logLevel", "info");
        switch (logLevel) {
        case "fatal": level = "FATAL"; break;
        case "error": level = "ERROR"; break;
        case "warn":  level = "WARN";  break;
        case "info":  level = "INFO";  break;
        case "debug": level = "DEBUG"; break;
        case "trace": level = "TRACE"; break;
        default:
            throw new IllegalArgumentException(String.format(
                        "System property embulk.logLevel=%s is invalid. Available levels are fatal, error, warn, info, debug and trace.", logLevel));
        }

        prop.setProperty("log4j.rootLogger", level+",root");
        prop.setProperty("log4j.appender.root", "org.apache.log4j.ConsoleAppender");
        prop.setProperty("log4j.appender.root.layout", "org.apache.log4j.PatternLayout");
        prop.setProperty("log4j.appender.root.layout.ConversionPattern", "%d{yyyy-MM-dd HH:mm:ss.SSS Z} [%p] (%t): %m%n");

        // TODO
        PropertyConfigurator.configure(prop);
    }

    public ILoggerFactory get()
    {
        return LoggerFactory.getILoggerFactory();
    }
}

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
embulk-0.4.10 embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java
embulk-0.4.9 embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java
embulk-0.4.8 embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java
embulk-0.4.7 embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java
embulk-0.4.6 embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java
embulk-0.4.5 embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java
embulk-0.4.4 embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java