Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
S
spdlog
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
spdlog
Commits
c9331594
Commit
c9331594
authored
Jul 07, 2018
by
gabime
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Renamed file to pattern_forammter.h and fixed utc support
parent
cbc4db86
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
17 additions
and
14 deletions
+17
-14
example.cpp
example/example.cpp
+1
-1
logger_impl.h
include/spdlog/details/logger_impl.h
+2
-2
pattern_formatter.h
include/spdlog/details/pattern_formatter.h
+5
-4
registry.h
include/spdlog/details/registry.h
+5
-3
logger.h
include/spdlog/logger.h
+1
-1
sink.h
include/spdlog/sinks/sink.h
+1
-1
spdlog.h
include/spdlog/spdlog.h
+2
-2
No files found.
example/example.cpp
View file @
c9331594
...
@@ -65,7 +65,7 @@ void stdout_example()
...
@@ -65,7 +65,7 @@ void stdout_example()
auto
err_logger
=
spdlog
::
stderr_color_mt
(
"error_logger"
);
auto
err_logger
=
spdlog
::
stderr_color_mt
(
"error_logger"
);
err_logger
->
error
(
"Some error message"
);
err_logger
->
error
(
"Some error message"
);
// Formatting examples
// Formatting examples
console
->
warn
(
"Easy padding in numbers like {:08d}"
,
12
);
console
->
warn
(
"Easy padding in numbers like {:08d}"
,
12
);
console
->
critical
(
"Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}"
,
42
);
console
->
critical
(
"Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}"
,
42
);
...
...
include/spdlog/details/logger_impl.h
View file @
c9331594
...
@@ -46,9 +46,9 @@ inline void spdlog::logger::set_formatter(const Args &... args)
...
@@ -46,9 +46,9 @@ inline void spdlog::logger::set_formatter(const Args &... args)
}
}
}
}
inline
void
spdlog
::
logger
::
set_pattern
(
const
std
::
string
&
pattern
,
pattern_time_type
pattern_tim
e
)
inline
void
spdlog
::
logger
::
set_pattern
(
const
std
::
string
&
pattern
,
pattern_time_type
time_typ
e
)
{
{
set_formatter
<
spdlog
::
pattern_formatter
>
(
pattern
,
pattern_tim
e
);
set_formatter
<
spdlog
::
pattern_formatter
>
(
pattern
,
time_typ
e
);
}
}
template
<
typename
...
Args
>
template
<
typename
...
Args
>
...
...
include/spdlog/details/pattern_formatter.h
View file @
c9331594
...
@@ -525,10 +525,10 @@ private:
...
@@ -525,10 +525,10 @@ private:
class
pattern_formatter
SPDLOG_FINAL
:
public
formatter
class
pattern_formatter
SPDLOG_FINAL
:
public
formatter
{
{
public
:
public
:
explicit
pattern_formatter
(
const
std
::
string
&
pattern
,
pattern_time_type
pattern_tim
e
=
pattern_time_type
::
local
,
explicit
pattern_formatter
(
const
std
::
string
&
pattern
,
pattern_time_type
time_typ
e
=
pattern_time_type
::
local
,
std
::
string
eol
=
spdlog
::
details
::
os
::
default_eol
)
std
::
string
eol
=
spdlog
::
details
::
os
::
default_eol
)
:
eol_
(
std
::
move
(
eol
))
:
eol_
(
std
::
move
(
eol
))
,
pattern_time_
(
pattern_tim
e
)
,
pattern_time_
type_
(
time_typ
e
)
,
last_log_secs_
(
0
)
,
last_log_secs_
(
0
)
{
{
std
::
memset
(
&
cached_tm_
,
0
,
sizeof
(
cached_tm_
));
std
::
memset
(
&
cached_tm_
,
0
,
sizeof
(
cached_tm_
));
...
@@ -557,14 +557,15 @@ public:
...
@@ -557,14 +557,15 @@ public:
private
:
private
:
const
std
::
string
eol_
;
const
std
::
string
eol_
;
const
pattern_time_type
pattern_tim
e_
;
pattern_time_type
pattern_time_typ
e_
;
std
::
tm
cached_tm_
;
std
::
tm
cached_tm_
;
std
::
chrono
::
seconds
last_log_secs_
;
std
::
chrono
::
seconds
last_log_secs_
;
std
::
vector
<
std
::
unique_ptr
<
details
::
flag_formatter
>>
formatters_
;
std
::
vector
<
std
::
unique_ptr
<
details
::
flag_formatter
>>
formatters_
;
std
::
tm
get_time_
(
const
details
::
log_msg
&
msg
)
std
::
tm
get_time_
(
const
details
::
log_msg
&
msg
)
{
{
if
(
pattern_time_
==
pattern_time_type
::
local
)
if
(
pattern_time_
type_
==
pattern_time_type
::
local
)
{
{
return
details
::
os
::
localtime
(
log_clock
::
to_time_t
(
msg
.
time
));
return
details
::
os
::
localtime
(
log_clock
::
to_time_t
(
msg
.
time
));
}
}
...
...
include/spdlog/details/registry.h
View file @
c9331594
...
@@ -48,7 +48,7 @@ public:
...
@@ -48,7 +48,7 @@ public:
// create default formatter if not exists
// create default formatter if not exists
new_logger
->
set_
pattern
(
formatter_pattern
_
);
new_logger
->
set_
formatter
<
pattern_formatter
>
(
formatter_pattern_
,
pattern_time_type
_
);
if
(
err_handler_
)
if
(
err_handler_
)
{
{
...
@@ -81,13 +81,14 @@ public:
...
@@ -81,13 +81,14 @@ public:
return
tp_
;
return
tp_
;
}
}
void
set_pattern
(
const
std
::
string
&
pattern
)
void
set_pattern
(
const
std
::
string
&
pattern
,
pattern_time_type
time_type
)
{
{
std
::
lock_guard
<
Mutex
>
lock
(
mutex_
);
std
::
lock_guard
<
Mutex
>
lock
(
mutex_
);
formatter_pattern_
=
pattern
;
formatter_pattern_
=
pattern
;
pattern_time_type_
=
time_type
;
for
(
auto
&
l
:
loggers_
)
for
(
auto
&
l
:
loggers_
)
{
{
l
.
second
->
set_pattern
(
pattern
);
l
.
second
->
set_pattern
(
pattern
,
time_type
);
}
}
}
}
...
@@ -174,6 +175,7 @@ private:
...
@@ -174,6 +175,7 @@ private:
Mutex
tp_mutex_
;
Mutex
tp_mutex_
;
std
::
unordered_map
<
std
::
string
,
std
::
shared_ptr
<
logger
>>
loggers_
;
std
::
unordered_map
<
std
::
string
,
std
::
shared_ptr
<
logger
>>
loggers_
;
std
::
string
formatter_pattern_
=
"%+"
;
std
::
string
formatter_pattern_
=
"%+"
;
pattern_time_type
pattern_time_type_
=
pattern_time_type
::
local
;
level
::
level_enum
level_
=
level
::
info
;
level
::
level_enum
level_
=
level
::
info
;
level
::
level_enum
flush_level_
=
level
::
off
;
level
::
level_enum
flush_level_
=
level
::
off
;
log_err_handler
err_handler_
;
log_err_handler
err_handler_
;
...
...
include/spdlog/logger.h
View file @
c9331594
...
@@ -117,7 +117,7 @@ public:
...
@@ -117,7 +117,7 @@ public:
// create a pattern formatter all the sinks in this logger.
// create a pattern formatter all the sinks in this logger.
// each sink gets itw own private copy of a formatter object.
// each sink gets itw own private copy of a formatter object.
void
set_pattern
(
const
std
::
string
&
pattern
,
pattern_time_type
pattern_tim
e
=
pattern_time_type
::
local
);
void
set_pattern
(
const
std
::
string
&
pattern
,
pattern_time_type
time_typ
e
=
pattern_time_type
::
local
);
// create a FormatterT formatter for each sink in this logger.
// create a FormatterT formatter for each sink in this logger.
// each sink gets its own private copy of a formatter object.
// each sink gets its own private copy of a formatter object.
...
...
include/spdlog/sinks/sink.h
View file @
c9331594
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
#pragma once
#pragma once
#include "spdlog/details/log_msg.h"
#include "spdlog/details/log_msg.h"
#include "spdlog/details/pattern_formatter
_impl
.h"
#include "spdlog/details/pattern_formatter.h"
#include "spdlog/formatter.h"
#include "spdlog/formatter.h"
namespace
spdlog
{
namespace
spdlog
{
...
...
include/spdlog/spdlog.h
View file @
c9331594
...
@@ -57,9 +57,9 @@ inline std::shared_ptr<logger> get(const std::string &name)
...
@@ -57,9 +57,9 @@ inline std::shared_ptr<logger> get(const std::string &name)
// Set global formatting
// Set global formatting
// example: spdlog::set_pattern("%Y-%m-%d %H:%M:%S.%e %l : %v");
// example: spdlog::set_pattern("%Y-%m-%d %H:%M:%S.%e %l : %v");
//
//
inline
void
set_pattern
(
const
std
::
string
&
format_string
)
inline
void
set_pattern
(
const
std
::
string
&
format_string
,
pattern_time_type
time_type
=
pattern_time_type
::
local
)
{
{
details
::
registry
::
instance
().
set_pattern
(
format_string
);
details
::
registry
::
instance
().
set_pattern
(
format_string
,
time_type
);
}
}
//
//
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment