All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sap.cloud.lm.sl.cf.persistence.services.ProcessLogger Maven / Gradle / Ivy

package com.sap.cloud.lm.sl.cf.persistence.services;

import java.io.File;

import org.apache.commons.io.FileUtils;
import org.apache.log4j.Logger;

public class ProcessLogger extends Logger {

    private static final String NULL_LOGGER_NAME = "Null logger";

    private Logger logger;
    private File log;
    private String logName;
    protected final String spaceId;
    protected final String processId;
    protected final String activityId;

    public ProcessLogger(Logger logger, File log, String logName, String spaceId, String processId, String activityId) {
        super(logger.getName());
        this.logger = logger;
        this.log = log;
        this.logName = logName;
        this.spaceId = spaceId;
        this.processId = processId;
        this.activityId = activityId;
    }

    public ProcessLogger(String spaceId, String processId, String activityId) {
        super(NULL_LOGGER_NAME);
        this.spaceId = spaceId;
        this.processId = processId;
        this.activityId = activityId;
    }

    @Override
    public void info(Object message) {
        logger.info(message);
    }

    @Override
    public void debug(Object message) {
        logger.debug(message);
    }

    @Override
    public void error(Object message) {
        logger.error(message);
    }

    @Override
    public void error(Object message, Throwable t) {
        logger.error(message, t);
    }

    @Override
    public void trace(Object message) {
        logger.trace(message);
    }

    @Override
    public void warn(Object message) {
        logger.warn(message);
    }

    @Override
    public void warn(Object message, Throwable t) {
        logger.warn(message, t);
    }

    @Override
    public synchronized void removeAllAppenders() {
        logger.removeAllAppenders();
    }

    public String getProcessId() {
        return processId;
    }

    public String getActivityId() {
        return activityId;
    }

    public synchronized void persistLogFile(ProcessLogsPersistenceService processLogsPersistenceService) {
        if (log.exists()) {
            processLogsPersistenceService.persistLog(spaceId, processId, log, logName);
        }
    }

    public synchronized void deleteLogFile() {
        FileUtils.deleteQuietly(log);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy