Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
spdlog
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
spdlog
Commits
2f52c554
Commit
2f52c554
authored
Oct 18, 2021
by
gabime
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed create<..> function from spdlog.h
parent
48c8ce23
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
46 additions
and
48 deletions
+46
-48
include/spdlog/spdlog.h
include/spdlog/spdlog.h
+0
-14
tests/includes.h
tests/includes.h
+1
-0
tests/test_daily_logger.cpp
tests/test_daily_logger.cpp
+9
-7
tests/test_errors.cpp
tests/test_errors.cpp
+15
-12
tests/test_file_logging.cpp
tests/test_file_logging.cpp
+16
-12
tests/test_macros.cpp
tests/test_macros.cpp
+5
-3
No files found.
include/spdlog/spdlog.h
View file @
2f52c554
...
@@ -21,20 +21,6 @@
...
@@ -21,20 +21,6 @@
namespace
spdlog
{
namespace
spdlog
{
using
default_factory
=
synchronous_factory
;
// Create a logger with a templated sink type
// The logger's level, formatter and flush level will be set according the
// global settings.
//
// Example:
// spdlog::create<daily_file_sink_st>("logger_name", "dailylog_filename", 11, 59);
template
<
typename
Sink
,
typename
...
SinkArgs
>
inline
std
::
shared_ptr
<
spdlog
::
logger
>
create
(
std
::
string
logger_name
,
SinkArgs
&&
...
sink_args
)
{
return
default_factory
::
create
<
Sink
>
(
std
::
move
(
logger_name
),
std
::
forward
<
SinkArgs
>
(
sink_args
)...);
}
// API for using default logger (stdout_color_mt),
// API for using default logger (stdout_color_mt),
// e.g: spdlog::info("Message {}", 1);
// e.g: spdlog::info("Message {}", 1);
//
//
...
...
tests/includes.h
View file @
2f52c554
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
#include <string>
#include <string>
#include <iomanip>
#include <iomanip>
#include <stdlib.h>
#include <stdlib.h>
#include <memory>
#define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_DEBUG
#define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_DEBUG
...
...
tests/test_daily_logger.cpp
View file @
2f52c554
...
@@ -18,13 +18,14 @@ TEST_CASE("daily_logger with dateonly calculator", "[daily_logger]")
...
@@ -18,13 +18,14 @@ TEST_CASE("daily_logger with dateonly calculator", "[daily_logger]")
fmt
::
format_to
(
fmt
::
format_to
(
std
::
back_inserter
(
w
),
SPDLOG_FILENAME_T
(
"{}_{:04d}-{:02d}-{:02d}"
),
basename
,
tm
.
tm_year
+
1900
,
tm
.
tm_mon
+
1
,
tm
.
tm_mday
);
std
::
back_inserter
(
w
),
SPDLOG_FILENAME_T
(
"{}_{:04d}-{:02d}-{:02d}"
),
basename
,
tm
.
tm_year
+
1900
,
tm
.
tm_mon
+
1
,
tm
.
tm_mday
);
auto
logger
=
spdlog
::
create
<
sink_type
>
(
"logger"
,
basename
,
0
,
0
);
auto
sink
=
std
::
make_shared
<
sink_type
>
(
basename
,
0
,
0
);
spdlog
::
logger
logger
(
"logger"
,
sink
);
for
(
int
i
=
0
;
i
<
10
;
++
i
)
for
(
int
i
=
0
;
i
<
10
;
++
i
)
{
{
logger
->
info
(
"Test message {}"
,
i
);
logger
.
info
(
"Test message {}"
,
i
);
}
}
logger
->
flush
();
logger
.
flush
();
#ifdef SPDLOG_WCHAR_FILENAMES
#ifdef SPDLOG_WCHAR_FILENAMES
spdlog
::
memory_buf_t
buf
;
spdlog
::
memory_buf_t
buf
;
...
@@ -60,13 +61,14 @@ TEST_CASE("daily_logger with custom calculator", "[daily_logger]")
...
@@ -60,13 +61,14 @@ TEST_CASE("daily_logger with custom calculator", "[daily_logger]")
fmt
::
format_to
(
fmt
::
format_to
(
std
::
back_inserter
(
w
),
SPDLOG_FILENAME_T
(
"{}{:04d}{:02d}{:02d}"
),
basename
,
tm
.
tm_year
+
1900
,
tm
.
tm_mon
+
1
,
tm
.
tm_mday
);
std
::
back_inserter
(
w
),
SPDLOG_FILENAME_T
(
"{}{:04d}{:02d}{:02d}"
),
basename
,
tm
.
tm_year
+
1900
,
tm
.
tm_mon
+
1
,
tm
.
tm_mday
);
auto
logger
=
spdlog
::
create
<
sink_type
>
(
"logger"
,
basename
,
0
,
0
);
auto
sink
=
std
::
make_shared
<
sink_type
>
(
basename
,
0
,
0
);
spdlog
::
logger
logger
(
"logger"
,
sink
);
for
(
int
i
=
0
;
i
<
10
;
++
i
)
for
(
int
i
=
0
;
i
<
10
;
++
i
)
{
{
logger
->
info
(
"Test message {}"
,
i
);
logger
.
info
(
"Test message {}"
,
i
);
}
}
logger
->
flush
();
logger
.
flush
();
#ifdef SPDLOG_WCHAR_FILENAMES
#ifdef SPDLOG_WCHAR_FILENAMES
spdlog
::
memory_buf_t
buf
;
spdlog
::
memory_buf_t
buf
;
...
@@ -165,4 +167,4 @@ TEST_CASE("daily_logger rotate", "[daily_file_sink]")
...
@@ -165,4 +167,4 @@ TEST_CASE("daily_logger rotate", "[daily_file_sink]")
test_rotate
(
days_to_run
,
10
,
10
);
test_rotate
(
days_to_run
,
10
,
10
);
test_rotate
(
days_to_run
,
11
,
10
);
test_rotate
(
days_to_run
,
11
,
10
);
test_rotate
(
days_to_run
,
20
,
10
);
test_rotate
(
days_to_run
,
20
,
10
);
}
}
\ No newline at end of file
tests/test_errors.cpp
View file @
2f52c554
...
@@ -27,11 +27,13 @@ TEST_CASE("default_error_handler", "[errors]]")
...
@@ -27,11 +27,13 @@ TEST_CASE("default_error_handler", "[errors]]")
prepare_logdir
();
prepare_logdir
();
spdlog
::
filename_t
filename
=
SPDLOG_FILENAME_T
(
SIMPLE_LOG
);
spdlog
::
filename_t
filename
=
SPDLOG_FILENAME_T
(
SIMPLE_LOG
);
auto
logger
=
spdlog
::
create
<
spdlog
::
sinks
::
basic_file_sink_mt
>
(
"test-error"
,
filename
,
true
);
logger
->
set_formatter
(
make_unique
<
spdlog
::
pattern_formatter
>
(
"%v"
));
auto
sink
=
std
::
make_shared
<
spdlog
::
sinks
::
basic_file_sink_mt
>
(
filename
,
true
);
logger
->
info
(
fmt
::
runtime
(
"Test message {} {}"
),
1
);
spdlog
::
logger
logger
(
"test-error"
,
std
::
move
(
sink
));
logger
->
info
(
"Test message {}"
,
2
);
logger
.
set_formatter
(
make_unique
<
spdlog
::
pattern_formatter
>
(
"%v"
));
logger
->
flush
();
logger
.
info
(
fmt
::
runtime
(
"Test message {} {}"
),
1
);
logger
.
info
(
"Test message {}"
,
2
);
logger
.
flush
();
using
spdlog
::
details
::
os
::
default_eol
;
using
spdlog
::
details
::
os
::
default_eol
;
REQUIRE
(
file_contents
(
SIMPLE_LOG
)
==
fmt
::
format
(
"Test message 2{}"
,
default_eol
));
REQUIRE
(
file_contents
(
SIMPLE_LOG
)
==
fmt
::
format
(
"Test message 2{}"
,
default_eol
));
...
@@ -44,7 +46,8 @@ TEST_CASE("custom_error_handler", "[errors]]")
...
@@ -44,7 +46,8 @@ TEST_CASE("custom_error_handler", "[errors]]")
{
{
prepare_logdir
();
prepare_logdir
();
spdlog
::
filename_t
filename
=
SPDLOG_FILENAME_T
(
SIMPLE_LOG
);
spdlog
::
filename_t
filename
=
SPDLOG_FILENAME_T
(
SIMPLE_LOG
);
auto
logger
=
spdlog
::
create
<
spdlog
::
sinks
::
basic_file_sink_mt
>
(
"logger"
,
filename
,
true
);
auto
sink
=
std
::
make_shared
<
spdlog
::
sinks
::
basic_file_sink_mt
>
(
filename
,
true
);
auto
logger
=
std
::
make_shared
<
spdlog
::
logger
>
(
"logger"
,
std
::
move
(
sink
));
logger
->
flush_on
(
spdlog
::
level
::
info
);
logger
->
flush_on
(
spdlog
::
level
::
info
);
logger
->
set_error_handler
([
=
](
const
std
::
string
&
)
{
throw
custom_ex
();
});
logger
->
set_error_handler
([
=
](
const
std
::
string
&
)
{
throw
custom_ex
();
});
logger
->
info
(
"Good message #1"
);
logger
->
info
(
"Good message #1"
);
...
@@ -56,16 +59,16 @@ TEST_CASE("custom_error_handler", "[errors]]")
...
@@ -56,16 +59,16 @@ TEST_CASE("custom_error_handler", "[errors]]")
TEST_CASE
(
"default_error_handler2"
,
"[errors]]"
)
TEST_CASE
(
"default_error_handler2"
,
"[errors]]"
)
{
{
auto
logger
=
spdlog
::
create
<
failing_sink
>
(
"failed_logger"
);
spdlog
::
logger
logger
(
"failed-logger"
,
std
::
make_shared
<
failing_sink
>
()
);
logger
->
set_error_handler
([
=
](
const
std
::
string
&
)
{
throw
custom_ex
();
});
logger
.
set_error_handler
([
=
](
const
std
::
string
&
)
{
throw
custom_ex
();
});
REQUIRE_THROWS_AS
(
logger
->
info
(
"Some message"
),
custom_ex
);
REQUIRE_THROWS_AS
(
logger
.
info
(
"Some message"
),
custom_ex
);
}
}
TEST_CASE
(
"flush_error_handler"
,
"[errors]]"
)
TEST_CASE
(
"flush_error_handler"
,
"[errors]]"
)
{
{
auto
logger
=
spdlog
::
create
<
failing_sink
>
(
"failed_logger"
);
spdlog
::
logger
logger
(
"failed-logger"
,
std
::
make_shared
<
failing_sink
>
()
);
logger
->
set_error_handler
([
=
](
const
std
::
string
&
)
{
throw
custom_ex
();
});
logger
.
set_error_handler
([
=
](
const
std
::
string
&
)
{
throw
custom_ex
();
});
REQUIRE_THROWS_AS
(
logger
->
flush
(),
custom_ex
);
REQUIRE_THROWS_AS
(
logger
.
flush
(),
custom_ex
);
}
}
TEST_CASE
(
"async_error_handler"
,
"[errors]]"
)
TEST_CASE
(
"async_error_handler"
,
"[errors]]"
)
...
...
tests/test_file_logging.cpp
View file @
2f52c554
...
@@ -11,13 +11,15 @@ TEST_CASE("simple_file_logger", "[simple_logger]]")
...
@@ -11,13 +11,15 @@ TEST_CASE("simple_file_logger", "[simple_logger]]")
prepare_logdir
();
prepare_logdir
();
spdlog
::
filename_t
filename
=
SPDLOG_FILENAME_T
(
SIMPLE_LOG
);
spdlog
::
filename_t
filename
=
SPDLOG_FILENAME_T
(
SIMPLE_LOG
);
auto
logger
=
spdlog
::
create
<
spdlog
::
sinks
::
basic_file_sink_mt
>
(
"logger"
,
filename
);
auto
sink
=
std
::
make_shared
<
spdlog
::
sinks
::
basic_file_sink_mt
>
(
filename
);
logger
->
set_formatter
(
make_unique
<
spdlog
::
pattern_formatter
>
(
"%v"
)
);
spdlog
::
logger
logger
(
"logger"
,
sink
);
logger
->
info
(
"Test message {}"
,
1
);
logger
.
set_formatter
(
make_unique
<
spdlog
::
pattern_formatter
>
(
"%v"
));
logger
->
info
(
"Test message {}"
,
2
);
logger
->
flush
();
logger
.
info
(
"Test message {}"
,
1
);
logger
.
info
(
"Test message {}"
,
2
);
logger
.
flush
();
require_message_count
(
SIMPLE_LOG
,
2
);
require_message_count
(
SIMPLE_LOG
,
2
);
using
spdlog
::
details
::
os
::
default_eol
;
using
spdlog
::
details
::
os
::
default_eol
;
REQUIRE
(
file_contents
(
SIMPLE_LOG
)
==
fmt
::
format
(
"Test message 1{}Test message 2{}"
,
default_eol
,
default_eol
));
REQUIRE
(
file_contents
(
SIMPLE_LOG
)
==
fmt
::
format
(
"Test message 1{}Test message 2{}"
,
default_eol
,
default_eol
));
...
@@ -28,15 +30,17 @@ TEST_CASE("flush_on", "[flush_on]]")
...
@@ -28,15 +30,17 @@ TEST_CASE("flush_on", "[flush_on]]")
prepare_logdir
();
prepare_logdir
();
spdlog
::
filename_t
filename
=
SPDLOG_FILENAME_T
(
SIMPLE_LOG
);
spdlog
::
filename_t
filename
=
SPDLOG_FILENAME_T
(
SIMPLE_LOG
);
auto
logger
=
spdlog
::
create
<
spdlog
::
sinks
::
basic_file_sink_mt
>
(
"logger"
,
filename
);
auto
sink
=
std
::
make_shared
<
spdlog
::
sinks
::
basic_file_sink_mt
>
(
filename
);
logger
->
set_formatter
(
make_unique
<
spdlog
::
pattern_formatter
>
(
"%v"
));
logger
->
set_level
(
spdlog
::
level
::
trace
);
spdlog
::
logger
logger
(
"logger"
,
sink
);
logger
->
flush_on
(
spdlog
::
level
::
info
);
logger
.
set_formatter
(
make_unique
<
spdlog
::
pattern_formatter
>
(
"%v"
));
logger
->
trace
(
"Should not be flushed"
);
logger
.
set_level
(
spdlog
::
level
::
trace
);
logger
.
flush_on
(
spdlog
::
level
::
info
);
logger
.
trace
(
"Should not be flushed"
);
REQUIRE
(
count_lines
(
SIMPLE_LOG
)
==
0
);
REQUIRE
(
count_lines
(
SIMPLE_LOG
)
==
0
);
logger
->
info
(
"Test message {}"
,
1
);
logger
.
info
(
"Test message {}"
,
1
);
logger
->
info
(
"Test message {}"
,
2
);
logger
.
info
(
"Test message {}"
,
2
);
require_message_count
(
SIMPLE_LOG
,
3
);
require_message_count
(
SIMPLE_LOG
,
3
);
using
spdlog
::
details
::
os
::
default_eol
;
using
spdlog
::
details
::
os
::
default_eol
;
...
...
tests/test_macros.cpp
View file @
2f52c554
...
@@ -16,7 +16,8 @@ TEST_CASE("debug and trace w/o format string", "[macros]]")
...
@@ -16,7 +16,8 @@ TEST_CASE("debug and trace w/o format string", "[macros]]")
prepare_logdir
();
prepare_logdir
();
spdlog
::
filename_t
filename
=
SPDLOG_FILENAME_T
(
TEST_FILENAME
);
spdlog
::
filename_t
filename
=
SPDLOG_FILENAME_T
(
TEST_FILENAME
);
auto
logger
=
spdlog
::
create
<
spdlog
::
sinks
::
basic_file_sink_mt
>
(
"logger"
,
filename
);
auto
sink
=
std
::
make_shared
<
spdlog
::
sinks
::
basic_file_sink_mt
>
(
filename
);
auto
logger
=
std
::
make_shared
<
spdlog
::
logger
>
(
"logger"
,
sink
);
logger
->
set_formatter
(
make_unique
<
spdlog
::
pattern_formatter
>
(
"%v"
));
logger
->
set_formatter
(
make_unique
<
spdlog
::
pattern_formatter
>
(
"%v"
));
logger
->
set_level
(
spdlog
::
level
::
trace
);
logger
->
set_level
(
spdlog
::
level
::
trace
);
...
@@ -45,8 +46,9 @@ TEST_CASE("disable param evaluation", "[macros]")
...
@@ -45,8 +46,9 @@ TEST_CASE("disable param evaluation", "[macros]")
TEST_CASE
(
"pass logger pointer"
,
"[macros]"
)
TEST_CASE
(
"pass logger pointer"
,
"[macros]"
)
{
{
auto
logger
=
spdlog
::
create
<
spdlog
::
sinks
::
null_sink_mt
>
(
"refmacro"
);
auto
sink
=
std
::
make_shared
<
spdlog
::
sinks
::
null_sink_mt
>
();
auto
&
ref
=
*
logger
;
spdlog
::
logger
logger
(
"refmacro"
,
sink
);
auto
&
ref
=
logger
;
SPDLOG_LOGGER_TRACE
(
&
ref
,
"Test message 1"
);
SPDLOG_LOGGER_TRACE
(
&
ref
,
"Test message 1"
);
SPDLOG_LOGGER_DEBUG
(
&
ref
,
"Test message 2"
);
SPDLOG_LOGGER_DEBUG
(
&
ref
,
"Test message 2"
);
}
}
...
...
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