summaryrefslogtreecommitdiff
path: root/ext/Log4Qt/src/basicconfigurator.cpp
blob: d6998c63d5b8396c0757b60e8c55234956eb0a80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/******************************************************************************
 *
 * package:
 * file:        basicconfigurator.cpp
 * created:     September 2007
 * author:      Martin Heinrich
 *
 *
 * Copyright 2007 Martin Heinrich
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 ******************************************************************************/



/******************************************************************************
 * Dependencies
 ******************************************************************************/


#include "basicconfigurator.h"

#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
#include <QtCore/QThread>
#include "consoleappender.h"
#include "helpers/configuratorhelper.h"
#include "helpers/logobjectptr.h"
#include "logmanager.h"
#include "patternlayout.h"
#include "varia/listappender.h"



namespace Log4Qt
{


	/**************************************************************************
	 * Declarations
	 **************************************************************************/



	/**************************************************************************
	 * C helper functions
	 **************************************************************************/



	/**************************************************************************
	 * Class implementation: BasicConfigurator
	 **************************************************************************/


	bool BasicConfigurator::configure()
	{
		LogObjectPtr<ListAppender> list = new ListAppender;
		list->setName(QLatin1String("BasicConfigurator"));
				list->setConfiguratorList(true);
				list->setThreshold(Level::ERROR_INT);
		LogManager::logLogger()->addAppender(list);

		PatternLayout *p_layout = new PatternLayout(PatternLayout::TTCC_CONVERSION_PATTERN);
		p_layout->setName(QLatin1String("BasicConfigurator TTCC"));
		p_layout->activateOptions();
		ConsoleAppender *p_appender = new ConsoleAppender(p_layout, ConsoleAppender::STDOUT_TARGET);
		p_appender->setName(QLatin1String("BasicConfigurator stdout"));
		p_appender->activateOptions();
		LogManager::rootLogger()->addAppender(p_appender);

		LogManager::logLogger()->removeAppender(list);
		ConfiguratorHelper::setConfigureError(list->list());
		return (list->list().count() == 0);
	}


	void BasicConfigurator::configure(Appender *pAppender)
	{
			LogManager::rootLogger()->addAppender(pAppender);
	}


	void BasicConfigurator::resetConfiguration()
	{
			LogManager::resetConfiguration();
	}



	/**************************************************************************
	 * Implementation: Operators, Helper
	 **************************************************************************/


} // namespace Log4Qt