source: pacpusframework/trunk/3rd/apache-log4cxx/include/log4cxx/spi/rootlogger.h@ 12

Last change on this file since 12 was 2, checked in by sgosseli, 12 years ago

Add 3rd party libraries (log4cxx).

File size: 2.2 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _LOG4CXX_SPI_ROOT_LOGGER_H
19#define _LOG4CXX_SPI_ROOT_LOGGER_H
20
21#include <log4cxx/logger.h>
22
23namespace log4cxx
24{
25 namespace spi
26 {
27 /**
28 RootLogger sits at the top of the logger hierachy. It is a
29 regular logger except that it provides several guarantees.
30
31 <p>First, it cannot be assigned a null
32 level. Second, since root logger cannot have a parent, the
33 #getEffectiveLevel method always returns the value of the
34 level field without walking the hierarchy.
35 */
36 class LOG4CXX_EXPORT RootLogger : public Logger
37 {
38 public:
39 /**
40 The root logger names itself as "root". However, the root
41 logger cannot be retrieved by name.
42 */
43 RootLogger(log4cxx::helpers::Pool& pool, const LevelPtr& level);
44
45 /**
46 Return the assigned level value without walking the logger
47 hierarchy.
48 */
49 virtual const LevelPtr& getEffectiveLevel() const;
50
51 /**
52 Setting a null value to the level of the root logger may have catastrophic
53 results. We prevent this here.
54 */
55 void setLevel(const LevelPtr& level);
56 };
57 } // namespace spi
58} // namespace log4cxx
59
60#endif //_LOG4CXX_SPI_ROOT_LOGGER_H
Note: See TracBrowser for help on using the repository browser.