source: pacpusframework/trunk/3rd/apache-log4cxx/include/log4cxx/pattern/datepatternconverter.h@ 3

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

Add 3rd party libraries (log4cxx).

File size: 2.4 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_PATTERN_DATE_PATTERN_CONVERTER
19#define _LOG4CXX_PATTERN_DATE_PATTERN_CONVERTER
20
21#include <log4cxx/pattern/loggingeventpatternconverter.h>
22#include <log4cxx/helpers/cacheddateformat.h>
23#include <log4cxx/helpers/date.h>
24#include <vector>
25
26namespace log4cxx {
27 namespace pattern {
28
29
30/**
31 * Convert and format the event's date in a StringBuffer.
32 *
33 *
34 *
35 */
36class LOG4CXX_EXPORT DatePatternConverter : public LoggingEventPatternConverter {
37 /**
38 * Date format.
39 */
40 log4cxx::helpers::DateFormatPtr df;
41
42 /**
43 * Private constructor.
44 * @param options options, may be null.
45 * @param logger logger for diagnostic messages, may be null.
46 */
47 DatePatternConverter(const OptionsList& options);
48
49 /**
50 * Obtains an instance of pattern converter.
51 * @param options options, may be null.
52 * @return instance of pattern converter.
53 */
54 static log4cxx::helpers::DateFormatPtr getDateFormat(const OptionsList& options);
55 public:
56 DECLARE_LOG4CXX_PATTERN(DatePatternConverter)
57 BEGIN_LOG4CXX_CAST_MAP()
58 LOG4CXX_CAST_ENTRY(DatePatternConverter)
59 LOG4CXX_CAST_ENTRY_CHAIN(LoggingEventPatternConverter)
60 END_LOG4CXX_CAST_MAP()
61
62
63 static PatternConverterPtr newInstance(
64 const std::vector<LogString>& options);
65 void format(const log4cxx::spi::LoggingEventPtr& event,
66 LogString& output,
67 log4cxx::helpers::Pool& p) const;
68 void format(const log4cxx::helpers::ObjectPtr& obj,
69 LogString& output,
70 log4cxx::helpers::Pool& p) const;
71
72 void format(const log4cxx::helpers::DatePtr& date,
73 LogString& toAppendTo,
74 log4cxx::helpers::Pool& p) const;
75};
76
77LOG4CXX_PTR_DEF(DatePatternConverter);
78
79 }
80}
81#endif
82
Note: See TracBrowser for help on using the repository browser.