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
ae2426e0
Commit
ae2426e0
authored
Oct 10, 2014
by
gabi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Small changes
parent
2a6ff3b6
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
41 additions
and
84 deletions
+41
-84
c11logtest.vcxproj
c11logtest/c11logtest/c11logtest.vcxproj
+1
-1
c11logtest.vcxproj.filters
c11logtest/c11logtest/c11logtest.vcxproj.filters
+3
-3
example.cpp
example/example.cpp
+6
-6
common_types.h
include/c11log/common_types.h
+0
-30
line_logger.h
include/c11log/details/line_logger.h
+1
-1
log_msg.h
include/c11log/details/log_msg.h
+2
-2
formatter.h
include/c11log/formatter.h
+1
-1
logger.h
include/c11log/logger.h
+1
-2
async_sink.h
include/c11log/sinks/async_sink.h
+19
-25
base_sink.h
include/c11log/sinks/base_sink.h
+4
-7
file_sinks.h
include/c11log/sinks/file_sinks.h
+3
-5
ostream_sink.h
include/c11log/sinks/ostream_sink.h
+0
-1
No files found.
c11logtest/c11logtest/c11logtest.vcxproj
View file @
ae2426e0
...
...
@@ -84,7 +84,7 @@
<Text
Include=
"ReadMe.txt"
/>
</ItemGroup>
<ItemGroup>
<ClInclude
Include=
"..\..\include\c11log\common
_types
.h"
/>
<ClInclude
Include=
"..\..\include\c11log\common.h"
/>
<ClInclude
Include=
"..\..\include\c11log\details\blocking_queue.h"
/>
<ClInclude
Include=
"..\..\include\c11log\details\factory.h"
/>
<ClInclude
Include=
"..\..\include\c11log\details\fast_oss.h"
/>
...
...
c11logtest/c11logtest/c11logtest.vcxproj.filters
View file @
ae2426e0
...
...
@@ -33,9 +33,6 @@
<ClInclude
Include=
"targetver.h"
>
<Filter>
Header Files
</Filter>
</ClInclude>
<ClInclude
Include=
"..\..\include\c11log\common_types.h"
>
<Filter>
Header Files\c11log
</Filter>
</ClInclude>
<ClInclude
Include=
"..\..\include\c11log\formatter.h"
>
<Filter>
Header Files\c11log
</Filter>
</ClInclude>
...
...
@@ -90,6 +87,9 @@
<ClInclude
Include=
"..\..\include\c11log\sinks\stdout_sinks.h"
>
<Filter>
Header Files\c11log\sinks
</Filter>
</ClInclude>
<ClInclude
Include=
"..\..\include\c11log\common.h"
>
<Filter>
Header Files\c11log
</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile
Include=
"stdafx.cpp"
>
...
...
example/example.cpp
View file @
ae2426e0
...
...
@@ -20,14 +20,14 @@ int main(int argc, char* argv[])
const
unsigned
int
howmany
=
argc
<=
1
?
10000
:
atoi
(
argv
[
1
]);
logger
cout_logger
(
"example"
,
std
::
make_shared
<
sinks
::
stderr_sink_
s
t
>
());
logger
cout_logger
(
"example"
,
std
::
make_shared
<
sinks
::
stderr_sink_
m
t
>
());
cout_logger
.
info
()
<<
"Hello logger"
;
//auto nullsink = std::make_shared<sinks::null_sink<std::mutex>>();
//
auto nullsink = std::make_shared<sinks::null_sink<details::null_mutex>>();
auto
fsink
=
std
::
make_shared
<
sinks
::
rotating_file_sink_
mt
>
(
"log"
,
"txt"
,
1024
*
1024
*
50
,
5
,
1
);
//
auto as = std::make_shared<sinks::async_sink>(1000);
//as->add_sink(fsink);
auto
nullsink
=
std
::
make_shared
<
sinks
::
null_sink
<
details
::
null_mutex
>>
();
auto
fsink
=
std
::
make_shared
<
sinks
::
rotating_file_sink_
st
>
(
"log"
,
"txt"
,
1024
*
1024
*
50
,
5
,
10
);
auto
as
=
std
::
make_shared
<
sinks
::
async_sink
>
(
1000
);
logger
my_logger
(
"my_logger"
,
fsink
);
...
...
@@ -36,7 +36,7 @@ int main(int argc, char* argv[])
for
(
unsigned
int
i
=
1
;
i
<=
howmany
;
++
i
)
my_logger
.
info
()
<<
"Hello logger: msg #"
<<
i
;
//as->shutdown(std::chrono::milliseconds(15000));
auto
delta
=
system_clock
::
now
()
-
start
;
auto
delta_d
=
duration_cast
<
duration
<
double
>>
(
delta
).
count
();
...
...
include/c11log/common_types.h
deleted
100644 → 0
View file @
2a6ff3b6
#pragma once
#include <chrono>
namespace
c11log
{
typedef
std
::
chrono
::
system_clock
log_clock
;
namespace
level
{
typedef
enum
{
TRACE
,
DEBUG
,
INFO
,
WARNING
,
ERROR
,
CRITICAL
,
FATAL
,
NONE
=
99
}
level_enum
;
static
const
char
*
level_names
[]
{
"trace"
,
"debug"
,
"info"
,
"warning"
,
"error"
,
"critical"
,
"fatal"
};
inline
const
char
*
to_str
(
c11log
::
level
::
level_enum
l
)
{
return
level_names
[
l
];
}
}
//level
}
//c11log
include/c11log/details/line_logger.h
View file @
ae2426e0
#pragma once
#include <sstream>
#include "../common
_types
.h"
#include "../common.h"
#include "../logger.h"
#include "fast_oss.h"
...
...
include/c11log/details/log_msg.h
View file @
ae2426e0
#pragma once
#include "../common_types.h"
#include <chrono>
#include "../common.h"
namespace
c11log
{
...
...
@@ -16,7 +17,6 @@ struct log_msg
raw
(),
formatted
()
{}
log_msg
(
const
log_msg
&
other
)
:
logger_name
(
other
.
logger_name
),
level
(
other
.
level
),
...
...
include/c11log/formatter.h
View file @
ae2426e0
...
...
@@ -8,7 +8,7 @@
#include <cstring>
#include <sstream>
#include "common
_types
.h"
#include "common.h"
#include "details/os.h"
#include "details/log_msg.h"
#include "details/fast_oss.h"
...
...
include/c11log/logger.h
View file @
ae2426e0
...
...
@@ -8,8 +8,7 @@
#include <sstream>
#include "sinks/base_sink.h"
#include "common_types.h"
#include "common.h"
...
...
include/c11log/sinks/async_sink.h
View file @
ae2426e0
...
...
@@ -8,6 +8,7 @@
#include "base_sink.h"
#include "../logger.h"
#include "../details/blocking_queue.h"
#include "../details/null_mutex.h"
#include "../details/log_msg.h"
#include<iostream>
...
...
@@ -17,8 +18,7 @@ namespace c11log
namespace
sinks
{
template
<
class
Mutex
>
class
async_sink
:
public
base_sink
<
Mutex
>
class
async_sink
:
public
base_sink
<
details
::
null_mutex
>
{
public
:
using
q_type
=
details
::
blocking_queue
<
details
::
log_msg
>
;
...
...
@@ -26,7 +26,6 @@ public:
explicit
async_sink
(
const
q_type
::
size_type
max_queue_size
);
//Stop logging and join the back thread
// TODO: limit with timeout of the join and kill it afterwards?
~
async_sink
();
void
add_sink
(
logger
::
sink_ptr
sink
);
void
remove_sink
(
logger
::
sink_ptr
sink_ptr
);
...
...
@@ -46,7 +45,7 @@ private:
std
::
thread
_back_thread
;
//Clear all remaining messages(if any), stop the _back_thread and join it
void
_shutdown
();
std
::
mutex
_
shutdown_
mutex
;
std
::
mutex
_mutex
;
};
}
}
...
...
@@ -54,30 +53,26 @@ private:
///////////////////////////////////////////////////////////////////////////////
// async_sink class implementation
///////////////////////////////////////////////////////////////////////////////
template
<
class
Mutex
>
inline
c11log
::
sinks
::
async_sink
<
Mutex
>::
async_sink
(
const
q_type
::
size_type
max_queue_size
)
inline
c11log
::
sinks
::
async_sink
::
async_sink
(
const
q_type
::
size_type
max_queue_size
)
:
_sinks
(),
_active
(
true
),
_q
(
max_queue_size
),
_back_thread
(
&
async_sink
::
_thread_loop
,
this
)
{}
template
<
class
Mutex
>
inline
c11log
::
sinks
::
async_sink
<
Mutex
>::~
async_sink
()
inline
c11log
::
sinks
::
async_sink
::~
async_sink
()
{
_shutdown
();
}
template
<
class
Mutex
>
inline
void
c11log
::
sinks
::
async_sink
<
Mutex
>::
_sink_it
(
const
details
::
log_msg
&
msg
)
inline
void
c11log
::
sinks
::
async_sink
::
_sink_it
(
const
details
::
log_msg
&
msg
)
{
if
(
!
_active
||
msg
.
formatted
.
empty
())
return
;
_q
.
push
(
msg
);
}
template
<
class
Mutex
>
inline
void
c11log
::
sinks
::
async_sink
<
Mutex
>::
_thread_loop
()
inline
void
c11log
::
sinks
::
async_sink
::
_thread_loop
()
{
static
std
::
chrono
::
seconds
pop_timeout
{
1
};
while
(
_active
)
...
...
@@ -95,27 +90,27 @@ inline void c11log::sinks::async_sink<Mutex>::_thread_loop()
}
}
template
<
class
Mutex
>
inline
void
c11log
::
sinks
::
async_sink
<
Mutex
>::
add_sink
(
logger
::
sink_ptr
sink
)
inline
void
c11log
::
sinks
::
async_sink
::
add_sink
(
logger
::
sink_ptr
sink
)
{
std
::
lock_guard
<
std
::
mutex
>
guard
(
_mutex
);
_sinks
.
push_back
(
sink
);
}
template
<
class
Mutex
>
inline
void
c11log
::
sinks
::
async_sink
<
Mutex
>
::
remove_sink
(
logger
::
sink_ptr
sink
)
inline
void
c11log
::
sinks
::
async_sink
::
remove_sink
(
logger
::
sink_ptr
sink
)
{
std
::
lock_guard
<
std
::
mutex
>
guard
(
_mutex
);
_sinks
.
erase
(
std
::
remove
(
_sinks
.
begin
(),
_sinks
.
end
(),
sink
),
_sinks
.
end
());
}
/*
template<class Mutex>
inline c11log::sinks::async_sink::q_type& c11log::sinks::async_sink
<Mutex>
::q()
inline
c11log
::
sinks
::
async_sink
::
q_type
&
c11log
::
sinks
::
async_sink
::
q
()
{
return
_q
;
}
*/
}
template
<
class
Mutex
>
inline
void
c11log
::
sinks
::
async_sink
<
Mutex
>::
shutdown
(
const
std
::
chrono
::
milliseconds
&
timeout
)
inline
void
c11log
::
sinks
::
async_sink
::
shutdown
(
const
std
::
chrono
::
milliseconds
&
timeout
)
{
if
(
timeout
>
std
::
chrono
::
milliseconds
::
zero
())
{
...
...
@@ -129,10 +124,9 @@ inline void c11log::sinks::async_sink<Mutex>::shutdown(const std::chrono::millis
}
template
<
class
Mutex
>
inline
void
c11log
::
sinks
::
async_sink
<
Mutex
>::
_shutdown
()
inline
void
c11log
::
sinks
::
async_sink
::
_shutdown
()
{
std
::
lock_guard
<
std
::
mutex
>
guard
(
_
shutdown_
mutex
);
std
::
lock_guard
<
std
::
mutex
>
guard
(
_mutex
);
if
(
_active
)
{
_active
=
false
;
...
...
include/c11log/sinks/base_sink.h
View file @
ae2426e0
...
...
@@ -5,7 +5,7 @@
#include<atomic>
#include "isink.h"
#include "../formatter.h"
#include "../common
_types
.h"
#include "../common.h"
#include "../details/log_msg.h"
...
...
@@ -23,7 +23,7 @@ public:
base_sink
(
const
base_sink
&
)
=
delete
;
base_sink
&
operator
=
(
const
base_sink
&
)
=
delete
;
void
log
(
const
details
::
log_msg
&
msg
)
void
log
(
const
details
::
log_msg
&
msg
)
override
{
if
(
_enabled
)
{
...
...
@@ -32,12 +32,12 @@ public:
}
};
void
enable
(
bool
enabled
)
void
enable
(
bool
enabled
)
override
{
_enabled
=
enabled
;
}
bool
is_enabled
()
bool
is_enabled
()
override
{
return
_enabled
.
load
();
}
...
...
@@ -48,8 +48,5 @@ protected:
std
::
atomic
<
bool
>
_enabled
;
};
}
}
include/c11log/sinks/file_sinks.h
View file @
ae2426e0
...
...
@@ -87,12 +87,10 @@ private:
}
// Rotate
old
files:
// Rotate files:
// log.txt -> log.1.txt
// log.n-1.txt -> log.n.txt
// log.n-2.txt -> log.n-1.txt
// log.n-3.txt ->..
// log.n.txt -> log.txt
// ..
// log.n.txt -> log.n+1.txt
void
_rotate
()
...
...
include/c11log/sinks/ostream_sink.h
View file @
ae2426e0
...
...
@@ -26,7 +26,6 @@ protected:
{
_ostream
<<
msg
.
formatted
;
}
std
::
ostream
&
_ostream
;
};
...
...
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