BitShares-Core
7.0.2
BitShares blockchain node software and command-line wallet software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
Variables
a
c
d
e
g
h
l
n
o
t
w
Typedefs
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
Enumerations
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
w
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Typedefs
a
b
c
d
e
f
h
i
l
m
n
o
p
r
s
t
v
Enumerations
Enumerator
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
a
b
c
d
e
f
g
h
m
n
o
p
s
t
u
v
w
y
Files
File List
File Members
All
_
a
b
c
d
e
f
g
i
l
m
n
p
r
s
t
u
v
w
Functions
Variables
Typedefs
Macros
_
a
b
c
d
e
f
g
i
l
m
n
p
r
s
t
u
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
libraries
fc
include
fc
log
appender.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <memory>
3
#include <string>
4
5
namespace
fc
{
6
class
appender;
7
class
log_message;
8
class
variant;
9
10
class
appender_factory
{
11
public
:
12
typedef
std::shared_ptr<appender_factory>
ptr
;
13
14
virtual
~appender_factory
(){};
15
virtual
std::shared_ptr<appender>
create
(
const
variant
& args ) = 0;
16
};
17
18
namespace
detail {
19
template
<
typename
T>
20
class
appender_factory_impl
:
public
appender_factory
{
21
public
:
22
virtual
std::shared_ptr<appender>
create
(
const
variant
& args ) {
23
return
std::shared_ptr<appender>(
new
T(args));
24
}
25
};
26
}
27
28
class
appender
{
29
public
:
30
typedef
std::shared_ptr<appender>
ptr
;
31
32
template
<
typename
T>
33
static
bool
register_appender
(
const
std::string& type) {
34
return
register_appender
( type,
appender_factory::ptr
(
new
detail::appender_factory_impl<T>
() ) );
35
}
36
37
virtual
~appender
() =
default
;
38
static
appender::ptr
create
(
const
std::string& name,
const
std::string& type,
const
variant
& args );
39
static
appender::ptr
get
(
const
std::string& name );
40
static
bool
register_appender
(
const
std::string& type,
const
appender_factory::ptr
& f );
41
42
virtual
void
log
(
const
log_message
& m ) = 0;
43
};
44
}
fc::appender::create
static appender::ptr create(const std::string &name, const std::string &type, const variant &args)
Definition:
appender.cpp:35
fc::detail::appender_factory_impl::create
virtual std::shared_ptr< appender > create(const variant &args)
Definition:
appender.hpp:22
fc::appender::~appender
virtual ~appender()=default
fc
Definition:
api.hpp:15
fc::appender
Definition:
appender.hpp:28
fc::appender::get
static appender::ptr get(const std::string &name)
Definition:
appender.cpp:25
fc::appender::log
virtual void log(const log_message &m)=0
fc::appender_factory::~appender_factory
virtual ~appender_factory()
Definition:
appender.hpp:14
fc::appender_factory::create
virtual std::shared_ptr< appender > create(const variant &args)=0
fc::log_message
aggregates a message along with the context and associated meta-information.
Definition:
log_message.hpp:106
fc::appender::ptr
std::shared_ptr< appender > ptr
Definition:
appender.hpp:30
fc::appender_factory::ptr
std::shared_ptr< appender_factory > ptr
Definition:
appender.hpp:12
fc::variant
stores null, int64, uint64, double, bool, string, std::vector<variant>, and variant_object's.
Definition:
variant.hpp:198
fc::detail::appender_factory_impl
Definition:
appender.hpp:20
fc::appender::register_appender
static bool register_appender(const std::string &type)
Definition:
appender.hpp:33
fc::appender_factory
Definition:
appender.hpp:10
Generated on Fri Dec 15 2023 06:12:42 for BitShares-Core by
1.8.17