log4cplus 2.0.8
appenderattachableimpl.h
Go to the documentation of this file.
1// -*- C++ -*-
2// Module: Log4CPLUS
3// File: appenderattachableimpl.h
4// Created: 6/2001
5// Author: Tad E. Smith
6//
7//
8// Copyright 2001-2017 Tad E. Smith
9//
10// Licensed under the Apache License, Version 2.0 (the "License");
11// you may not use this file except in compliance with the License.
12// You may obtain a copy of the License at
13//
14// http://www.apache.org/licenses/LICENSE-2.0
15//
16// Unless required by applicable law or agreed to in writing, software
17// distributed under the License is distributed on an "AS IS" BASIS,
18// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19// See the License for the specific language governing permissions and
20// limitations under the License.
21
24#ifndef LOG4CPLUS_HELPERS_APPENDER_ATTACHABLE_IMPL_HEADER_
25#define LOG4CPLUS_HELPERS_APPENDER_ATTACHABLE_IMPL_HEADER_
26
27#include <log4cplus/config.hxx>
28
29#if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE)
30#pragma once
31#endif
32
33#include <log4cplus/tstring.h>
37
38#include <memory>
39#include <vector>
40
41
42namespace log4cplus {
43 namespace helpers {
44
50 {
51 public:
52 // Data
54
55 // Ctors
57
58 // Dtor
60
61 // Methods
66 virtual void addAppender(SharedAppenderPtr newAppender);
67
72
80
84 virtual void removeAllAppenders();
85
89 virtual void removeAppender(SharedAppenderPtr appender);
90
95 virtual void removeAppender(const log4cplus::tstring& name);
96
101
102 protected:
103 // Types
104 typedef std::vector<SharedAppenderPtr> ListType;
105
106 // Data
109
110 private:
112 AppenderAttachableImpl & operator = (AppenderAttachableImpl const &);
113 }; // end class AppenderAttachableImpl
114
115 } // end namespace helpers
116} // end namespace log4cplus
117
118#endif // LOG4CPLUS_HELPERS_APPENDER_ATTACHABLE_IMPL_HEADER_
119
This Interface is for attaching Appenders to objects.
virtual void removeAllAppenders()
Remove all previously added appenders.
virtual void removeAppender(const log4cplus::tstring &name)
Remove the appender with the name passed as parameter from the list of appenders.
int appendLoopOnAppenders(const spi::InternalLoggingEvent &event) const
Call the doAppend method on all attached appenders.
virtual SharedAppenderPtr getAppender(const log4cplus::tstring &name)
Look for an attached appender named as name.
virtual void addAppender(SharedAppenderPtr newAppender)
Add an appender.
virtual SharedAppenderPtrList getAllAppenders()
Get all previously added appenders as an vectory.
virtual void removeAppender(SharedAppenderPtr appender)
Remove the appender passed as parameter from the list of appenders.
This Interface is for attaching Appenders to objects.
The internal representation of logging events.
std::basic_string< tchar > tstring
Definition tstring.h:39
std::vector< log4cplus::SharedAppenderPtr > SharedAppenderPtrList
#define LOG4CPLUS_EXPORT
Definition win32.h:141