MongoDB C++ Driver legacy-1.1.2
Loading...
Searching...
No Matches
message_event_utf8_encoder.h
1/* Copyright 2013 10gen Inc.
2 *
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#pragma once
17
18#include <iosfwd>
19
20#include "mongo/logger/encoder.h"
21#include "mongo/logger/message_event.h"
22#include "mongo/util/time_support.h"
23
24namespace mongo {
25namespace logger {
26
30class MessageEventDetailsEncoder : public Encoder<MessageEventEphemeral> {
31public:
32 typedef void (*DateFormatter)(std::ostream&, Date_t);
33
40 static void setDateFormatter(DateFormatter dateFormatter);
41
47 static DateFormatter getDateFormatter();
48
50 virtual std::ostream& encode(const MessageEventEphemeral& event, std::ostream& os);
51};
52
56class MessageEventWithContextEncoder : public Encoder<MessageEventEphemeral> {
57public:
59 virtual std::ostream& encode(const MessageEventEphemeral& event, std::ostream& os);
60};
61
62
66class MessageEventUnadornedEncoder : public Encoder<MessageEventEphemeral> {
67public:
69 virtual std::ostream& encode(const MessageEventEphemeral& event, std::ostream& os);
70};
71
72} // namespace logger
73} // namespace mongo
Interface for objects that encode Events to std::ostreams.
Definition encoder.h:30
Encoder that writes log messages of the style that MongoDB writes to console and files.
Definition message_event_utf8_encoder.h:30
static DateFormatter getDateFormatter()
Gets the date formatter function in use by instances of MessageEventDetailsEncoder.
static void setDateFormatter(DateFormatter dateFormatter)
Sets the date formatter function for all instances of MessageEventDetailsEncoder.
Free form text log message object that does not own the storage behind its message and contextName.
Definition message_event.h:33
Encoder that generates log messages containing only the raw text of the message.
Definition message_event_utf8_encoder.h:66
Encoder that generates log messages suitable for syslog.
Definition message_event_utf8_encoder.h:56
Utility functions for parsing numbers from strings.
Definition compare_numbers.h:20
Definition time_support.h:39