Line data Source code
1 : //
2 : // Author: Vladimir Migashko <migashko@gmail.com>, (C) 2017
3 : //
4 : // Copyright: See COPYING file that comes with this distribution
5 : //
6 : #pragma once
7 :
8 : #include <wlog/logger/basic_logger_options.hpp>
9 : #include <wlogjson/file_logger_options_json.hpp>
10 : #include <wlogjson/stdout_logger_options_json.hpp>
11 : #include <wlogjson/syslog_logger_options_json.hpp>
12 : #include <wjson/json.hpp>
13 : #include <wjson/name.hpp>
14 : #include <set>
15 :
16 : namespace wlog{
17 :
18 : struct basic_logger_options_json
19 : {
20 : typedef wjson::array< std::set< wjson::value<std::string> > > string_set_json;
21 6 : JSON_NAME(allow)
22 6 : JSON_NAME(deny)
23 6 : JSON_NAME(stdout)
24 6 : JSON_NAME(syslog)
25 :
26 : typedef wjson::object<
27 : basic_logger_options,
28 : wjson::member_list<
29 : wjson::member<n_allow, basic_logger_options, std::set<std::string>, &basic_logger_options::allow, string_set_json>,
30 : wjson::member<n_deny, basic_logger_options, std::set<std::string>, &basic_logger_options::deny, string_set_json>,
31 : wjson::base<file_logger_options_json>,
32 : wjson::member<n_stdout, basic_logger_options, stdout_logger_options, &basic_logger_options::stdout, stdout_logger_options_json>,
33 : wjson::member<n_syslog, basic_logger_options, syslog_logger_options, &basic_logger_options::syslog, syslog_logger_options_json>
34 : >,
35 : wjson::strict_mode
36 : > type;
37 : typedef type::serializer serializer;
38 : typedef type::target target;
39 : typedef type::member_list member_list;
40 : };
41 :
42 : }
|