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

com.fluxtion.api.audit.EventLogger Maven / Gradle / Ivy

/*
 * Copyright (C) 2020 V12 Technology Ltd.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the Server Side Public License, version 1,
 * as published by MongoDB, Inc.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * Server Side License for more details.
 *
 * You should have received a copy of the Server Side Public License
 * along with this program.  If not, see 
 * .
 */
package com.fluxtion.api.audit;

import com.fluxtion.api.audit.EventLogControlEvent.LogLevel;

/**
 * A logger for an individual {@link EventLogSource} node. Users write values with
 * keys using one of the convenience methods. The {@link EventLogManager} will aggregate
 * all data into a {@link LogRecord} and publish to {@link LogRecordListener}.
 * 
* * The generated {@code LogRecord} is a structure that can be read by machines * and humans. * * @author Greg Higgins ([email protected]) */ public class EventLogger { private final LogRecord logrecord; private final String logSourceId; private LogLevel logLevel; public EventLogger(LogRecord logrecord, String logSourceId) { this.logrecord = logrecord; this.logSourceId = logSourceId; logLevel = LogLevel.INFO; } public void setLevel(LogLevel level) { logLevel = level; } public void error() { logNodeInvoation(LogLevel.ERROR); } public void warn() { logNodeInvoation(LogLevel.WARN); } public void info() { logNodeInvoation(LogLevel.INFO); } public void debug() { logNodeInvoation(LogLevel.DEBUG); } public void trace() { logNodeInvoation(LogLevel.TRACE); } public void error(String key, String value) { log(key, value, LogLevel.ERROR); } public void warn(String key, String value) { log(key, value, LogLevel.WARN); } public void info(String key, String value) { log(key, value, LogLevel.INFO); } public void debug(String key, String value) { log(key, value, LogLevel.DEBUG); } public void trace(String key, String value) { log(key, value, LogLevel.TRACE); } public void error(String key, boolean value) { log(key, value, LogLevel.ERROR); } public void warn(String key, boolean value) { log(key, value, LogLevel.WARN); } public void error(String key, Object value) { log(key, value, LogLevel.ERROR); } public void warn(String key, Object value) { log(key, value, LogLevel.WARN); } public void info(String key, Object value) { log(key, value, LogLevel.INFO); } public void debug(String key, Object value) { log(key, value, LogLevel.DEBUG); } public void trace(String key, Object value) { log(key, value, LogLevel.TRACE); } public void info(String key, boolean value) { log(key, value, LogLevel.INFO); } public void debug(String key, boolean value) { log(key, value, LogLevel.DEBUG); } public void trace(String key, boolean value) { log(key, value, LogLevel.TRACE); } public void error(String key, double value) { log(key, value, LogLevel.ERROR); } public void warn(String key, double value) { log(key, value, LogLevel.WARN); } public void info(String key, double value) { log(key, value, LogLevel.INFO); } public void debug(String key, double value) { log(key, value, LogLevel.DEBUG); } public void trace(String key, double value) { log(key, value, LogLevel.TRACE); } public void error(String key, char value) { log(key, value, LogLevel.ERROR); } public void warn(String key, char value) { log(key, value, LogLevel.WARN); } public void info(String key, char value) { log(key, value, LogLevel.INFO); } public void debug(String key, char value) { log(key, value, LogLevel.DEBUG); } public void trace(String key, char value) { log(key, value, LogLevel.TRACE); } public void logNodeInvoation(LogLevel logLevel) { if (this.logLevel.level >= logLevel.level) { logrecord.addTrace(logSourceId); } } public void log(String key, Object value, LogLevel logLevel){ log(key, value==null?"NULL":value.toString(), logLevel); } public void log(String key, double value, LogLevel logLevel) { if (this.logLevel.level >= logLevel.level) { logrecord.addRecord(logSourceId, key, value); } } public void log(String key, char value, LogLevel logLevel) { if (this.logLevel.level >= logLevel.level) { logrecord.addRecord(logSourceId, key, value); } } public void log(String key, CharSequence value, LogLevel logLevel) { if (this.logLevel.level >= logLevel.level) { logrecord.addRecord(logSourceId, key, value); } } public void log(String key, boolean value, LogLevel logLevel) { if (this.logLevel.level >= logLevel.level) { logrecord.addRecord(logSourceId, key, value); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy