GenApi 3.5.1
ILoggerFactory.h
1//-----------------------------------------------------------------------------
2// (c) 20017 by STEMMER IMAGING GmbH
3// Author: Quang Nguyen
4//
5// License: This file is published under the license of the EMVA GenICam Standard Group.
6// A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
7// If for some reason you are missing this file please contact the EMVA or visit the website
8// (http://www.genicam.org) for a full copy.
9//
10// THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
11// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
12// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
13// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
14// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
15// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
16// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
17// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
18// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
20// POSSIBILITY OF SUCH DAMAGE.
21//
22//-----------------------------------------------------------------------------
23
24#ifndef LOG_I_LOGGER_FACTORY_HPP
25#define LOG_I_LOGGER_FACTORY_HPP
26
27#include <Log/ILogger.h>
28
29namespace GENICAM_NAMESPACE
30{
31 class ILoggerFactory
32 {
33 public:
34 virtual ~ILoggerFactory() {};
35 virtual const char* GetLoggerFactoryName() = 0;
36
37 // Configure the logger
38 // The existing configuration is not cleared or reset
39 // Do not remove Loggers when reconfiguring
40 // Appenders can be removed
41 virtual void ConfigureFromString(const char* configString) = 0;
42 virtual void ConfigureDefault() = 0;
43
44 // Logger pointer for a particular logger shall not change during runtime
45 virtual ILogger* GetLogger(const char* name) = 0;
46 virtual bool Exist(const char* name) = 0;
47 virtual void PushIndent() = 0;
48 virtual void PopIndent() = 0;
49 };
50}
51
52#endif