OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | |
Ben Chan
2014/12/02 21:42:53
drop (c)
http://www.chromium.org/developers/codin
stevenjb
2014/12/03 00:16:03
Done.
| |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chromeos/device_event_log.h" | |
6 | |
7 #include <string> | |
8 | |
9 #include "chromeos/device_event_log_impl.h" | |
10 | |
11 namespace chromeos { | |
12 | |
13 namespace device_event_log { | |
14 | |
15 namespace { | |
16 | |
17 const size_t kDefaultMaxEntries = 4000; | |
18 | |
19 DeviceEventLogImpl* g_device_event_log = NULL; | |
20 | |
21 } // namespace | |
22 | |
23 const LogLevel kDefaultLogLevel = LOG_LEVEL_EVENT; | |
24 | |
25 void Initialize(size_t max_entries) { | |
26 if (max_entries == 0) | |
27 max_entries = kDefaultMaxEntries; | |
28 if (g_device_event_log) | |
jennyz
2014/12/02 22:16:08
Is it normal to re-initialize g_device_event_log w
stevenjb
2014/12/03 00:16:03
I don't know about "normal", but it is harmless. I
jennyz
2014/12/03 19:12:43
Acknowledged.
| |
29 delete g_device_event_log; // resets log | |
30 g_device_event_log = new DeviceEventLogImpl(max_entries); | |
31 } | |
32 | |
33 void Shutdown() { | |
34 delete g_device_event_log; | |
35 g_device_event_log = NULL; | |
36 } | |
37 | |
38 bool IsInitialized() { | |
39 return g_device_event_log != NULL; | |
40 } | |
41 | |
42 void AddEntry(const char* file, | |
43 int line, | |
44 LogType type, | |
45 LogLevel level, | |
46 const std::string& event) { | |
47 if (g_device_event_log) { | |
48 g_device_event_log->AddEntry(file, line, type, level, event); | |
49 } else { | |
50 DeviceEventLogImpl::SendToVLogOrErrorLog(file, line, type, level, event); | |
51 } | |
52 } | |
53 | |
54 void AddEntryWithDescription(const char* file, | |
55 int line, | |
56 LogType type, | |
57 LogLevel level, | |
58 const std::string& event, | |
59 const std::string& desc) { | |
60 std::string event_with_desc = event; | |
61 if (!desc.empty()) | |
62 event_with_desc += ": " + desc; | |
63 AddEntry(file, line, type, level, event_with_desc); | |
64 } | |
65 | |
66 std::string GetAsString(StringOrder order, | |
67 const std::string& format, | |
68 LogType log_type, | |
69 LogLevel max_level, | |
70 size_t max_events) { | |
71 if (!g_device_event_log) | |
72 return "DeviceEventLog not initialized."; | |
73 return g_device_event_log->GetAsString(order, format, log_type, max_level, | |
74 max_events); | |
75 } | |
76 | |
77 namespace internal { | |
78 | |
79 DeviceEventLogInstance::DeviceEventLogInstance(const char* file, | |
80 int line, | |
81 device_event_log::LogType type, | |
82 device_event_log::LogLevel level) | |
83 : file_(file), line_(line), type_(type), level_(level) { | |
84 } | |
85 | |
86 DeviceEventLogInstance::~DeviceEventLogInstance() { | |
87 device_event_log::AddEntry(file_, line_, type_, level_, stream_.str()); | |
88 } | |
89 | |
90 } // namespace internal | |
91 | |
92 } // namespace device_event_log | |
93 | |
94 } // namespace chromeos | |
OLD | NEW |