log4cplus
2.0.6
include
log4cplus
clfsappender.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
// Module: Log4cplus
3
// File: clfsappender.h
4
// Created: 5/2012
5
// Author: Vaclav Zeman
6
//
7
//
8
// Copyright (C) 2012-2017, Vaclav Zeman. All rights reserved.
9
//
10
// Redistribution and use in source and binary forms, with or without modifica-
11
// tion, are permitted provided that the following conditions are met:
12
//
13
// 1. Redistributions of source code must retain the above copyright notice,
14
// this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright notice,
17
// this list of conditions and the following disclaimer in the documentation
18
// and/or other materials provided with the distribution.
19
//
20
// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
21
// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
22
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23
// APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
24
// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
25
// DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
26
// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
27
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31
32
//
33
36
#ifndef LOG4CPLUS_CLFSAPPENDER_H
37
#define LOG4CPLUS_CLFSAPPENDER_H
38
39
#include <
log4cplus/config.hxx
>
40
41
#if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE)
42
#pragma once
43
#endif
44
45
#include <
log4cplus/appender.h
>
46
47
48
#if defined (LOG4CPLUS_CLFSAPPENDER_BUILD_DLL)
49
# if defined (INSIDE_LOG4CPLUS_CLFSAPPENDER)
50
# define LOG4CPLUS_CLFSAPPENDER_EXPORT __declspec(dllexport)
51
# else
52
# define LOG4CPLUS_CLFSAPPENDER_EXPORT __declspec(dllimport)
53
# endif
54
#else
55
# define LOG4CPLUS_CLFSAPPENDER_EXPORT
56
#endif
57
58
59
namespace
log4cplus
60
{
61
62
63
class
LOG4CPLUS_CLFSAPPENDER_EXPORT
CLFSAppender
64
:
public
Appender
65
{
66
public
:
67
CLFSAppender
(
tstring
const
& logname,
unsigned
long
logsize,
68
unsigned
long
buffersize);
69
explicit
CLFSAppender
(
helpers::Properties
const
&);
70
virtual
~
CLFSAppender
();
71
72
virtual
void
close ();
73
74
static
void
registerAppender ();
75
76
protected
:
77
virtual
void
append (
spi::InternalLoggingEvent
const
&);
78
79
void
init (
tstring
const
& logname,
unsigned
long
logsize,
80
unsigned
long
buffersize);
81
82
struct
Data;
83
84
Data *
data
;
85
86
private
:
87
CLFSAppender
(
CLFSAppender
const
&);
88
CLFSAppender
& operator = (
CLFSAppender
const
&);
89
};
90
91
92
typedef
helpers::SharedObjectPtr<CLFSAppender>
CLFSAppenderPtr
;
93
94
95
}
// namespace log4cplus
96
97
98
#endif // LOG4CPLUS_CLFSAPPENDER_H
log4cplus
Definition:
appender.h:46
log4cplus::tstring
std::basic_string< tchar > tstring
Definition:
tstring.h:39
log4cplus::helpers::SharedObjectPtr
Definition:
pointer.h:100
LOG4CPLUS_CLFSAPPENDER_EXPORT
#define LOG4CPLUS_CLFSAPPENDER_EXPORT
Definition:
clfsappender.h:55
log4cplus::CLFSAppenderPtr
helpers::SharedObjectPtr< CLFSAppender > CLFSAppenderPtr
Definition:
clfsappender.h:92
log4cplus::CLFSAppender
Definition:
clfsappender.h:63
config.hxx
log4cplus::helpers::Properties
Definition:
property.h:43
log4cplus::spi::InternalLoggingEvent
The internal representation of logging events.
Definition:
loggingevent.h:51
appender.h
log4cplus::CLFSAppender::data
Data * data
Definition:
clfsappender.h:82
log4cplus::Appender
Extend this class for implementing your own strategies for printing log statements.
Definition:
appender.h:137
Generated on Fri Jun 18 2021 08:46:20 for log4cplus by
1.8.17