/** * This file is part of the source code and related artifacts for eGym Application. * * Copyright © 2013 eGym GmbH */ package de.egym.logqueue; /** * Implements per-request level logging by queuing all log records until the request ends and then producing an atomic log block for the * entire request. Also allows to define a threshold which, if exceeded at any given time during a request, leads to a decreased logging * threshold, thus providing more details when really needed. This mechanism is called the audit mode. See /README.md for details. */ public interface EgymLogQueue { /** * Must be called when a request starts. */ void startRequest(); /** * Must be called when a request ends. */ void endRequest(); /** * Used to log a record. * * @param logRecord * the record to log. Must not be null. */ void log(EgymLogRecord logRecord); }