ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/s10k/CommonLibs/plog/Init.h
(Generate patch)

Comparing s10k/CommonLibs/plog/Init.h (file contents):
Revision 1095 by s10k, Thu Oct 5 17:48:32 2017 UTC vs.
Revision 1096 by s10k, Sat Dec 30 14:40:33 2017 UTC

# Line 1 | Line 1
1 < #pragma once
2 < #include <plog/Logger.h>
3 < #include <plog/Formatters/CsvFormatter.h>
4 < #include <plog/Formatters/TxtFormatter.h>
5 < #include <plog/Appenders/RollingFileAppender.h>
6 < #include <cstring>
7 <
8 < namespace plog
9 < {
10 <    namespace
11 <    {
12 <        bool isCsv(const util::nchar* fileName)
13 <        {
14 <            const util::nchar* dot = util::findExtensionDot(fileName);
15 < #ifdef _WIN32
16 <            return dot && 0 == std::wcscmp(dot, L".csv");
17 < #else
18 <            return dot && 0 == std::strcmp(dot, ".csv");
19 < #endif
20 <        }
21 <    }
22 <
23 <    //////////////////////////////////////////////////////////////////////////
24 <    // Empty initializer / one appender
25 <
26 <    template<int instance>
27 <    inline Logger<instance>& init(Severity maxSeverity = none, IAppender* appender = NULL)
28 <    {
29 <        static Logger<instance> logger(maxSeverity);
30 <        return appender ? logger.addAppender(appender) : logger;
31 <    }
32 <
33 <    inline Logger<PLOG_DEFAULT_INSTANCE>& init(Severity maxSeverity = none, IAppender* appender = NULL)
34 <    {
35 <        return init<PLOG_DEFAULT_INSTANCE>(maxSeverity, appender);
36 <    }
37 <
38 <    //////////////////////////////////////////////////////////////////////////
39 <    // RollingFileAppender with any Formatter
40 <
41 <    template<class Formatter, int instance>
42 <    inline Logger<instance>& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0)
43 <    {
44 <        static RollingFileAppender<Formatter> rollingFileAppender(fileName, maxFileSize, maxFiles);
45 <        return init<instance>(maxSeverity, &rollingFileAppender);
46 <    }
47 <
48 <    template<class Formatter>
49 <    inline Logger<PLOG_DEFAULT_INSTANCE>& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0)
50 <    {
51 <        return init<Formatter, PLOG_DEFAULT_INSTANCE>(maxSeverity, fileName, maxFileSize, maxFiles);
52 <    }
53 <
54 <    //////////////////////////////////////////////////////////////////////////
55 <    // RollingFileAppender with TXT/CSV chosen by file extension
56 <
57 <    template<int instance>
58 <    inline Logger<instance>& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0)
59 <    {
60 <        return isCsv(fileName) ? init<CsvFormatter, instance>(maxSeverity, fileName, maxFileSize, maxFiles) : init<TxtFormatter, instance>(maxSeverity, fileName, maxFileSize, maxFiles);
61 <    }
62 <
63 <    inline Logger<PLOG_DEFAULT_INSTANCE>& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0)
64 <    {
65 <        return init<PLOG_DEFAULT_INSTANCE>(maxSeverity, fileName, maxFileSize, maxFiles);
66 <    }
67 <
68 <    //////////////////////////////////////////////////////////////////////////
69 <    // CHAR variants for Windows
70 <
71 < #ifdef _WIN32
72 <    template<class Formatter, int instance>
73 <    inline Logger<instance>& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0)
74 <    {
75 <        return init<Formatter, instance>(maxSeverity, util::toWide(fileName).c_str(), maxFileSize, maxFiles);
76 <    }
77 <
78 <    template<class Formatter>
79 <    inline Logger<PLOG_DEFAULT_INSTANCE>& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0)
80 <    {
81 <        return init<Formatter, PLOG_DEFAULT_INSTANCE>(maxSeverity, fileName, maxFileSize, maxFiles);
82 <    }
83 <
84 <    template<int instance>
85 <    inline Logger<instance>& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0)
86 <    {
87 <        return init<instance>(maxSeverity, util::toWide(fileName).c_str(), maxFileSize, maxFiles);
88 <    }
89 <
90 <    inline Logger<PLOG_DEFAULT_INSTANCE>& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0)
91 <    {
92 <        return init<PLOG_DEFAULT_INSTANCE>(maxSeverity, fileName, maxFileSize, maxFiles);
93 <    }
94 < #endif
95 < }
1 > #pragma once
2 > #include <plog/Logger.h>
3 > #include <plog/Formatters/CsvFormatter.h>
4 > #include <plog/Formatters/TxtFormatter.h>
5 > #include <plog/Appenders/RollingFileAppender.h>
6 > #include <cstring>
7 >
8 > namespace plog
9 > {
10 >    namespace
11 >    {
12 >        bool isCsv(const util::nchar* fileName)
13 >        {
14 >            const util::nchar* dot = util::findExtensionDot(fileName);
15 > #ifdef _WIN32
16 >            return dot && 0 == std::wcscmp(dot, L".csv");
17 > #else
18 >            return dot && 0 == std::strcmp(dot, ".csv");
19 > #endif
20 >        }
21 >    }
22 >
23 >    //////////////////////////////////////////////////////////////////////////
24 >    // Empty initializer / one appender
25 >
26 >    template<int instance>
27 >    inline Logger<instance>& init(Severity maxSeverity = none, IAppender* appender = NULL)
28 >    {
29 >        static Logger<instance> logger(maxSeverity);
30 >        return appender ? logger.addAppender(appender) : logger;
31 >    }
32 >
33 >    inline Logger<PLOG_DEFAULT_INSTANCE>& init(Severity maxSeverity = none, IAppender* appender = NULL)
34 >    {
35 >        return init<PLOG_DEFAULT_INSTANCE>(maxSeverity, appender);
36 >    }
37 >
38 >    //////////////////////////////////////////////////////////////////////////
39 >    // RollingFileAppender with any Formatter
40 >
41 >    template<class Formatter, int instance>
42 >    inline Logger<instance>& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0)
43 >    {
44 >        static RollingFileAppender<Formatter> rollingFileAppender(fileName, maxFileSize, maxFiles);
45 >        return init<instance>(maxSeverity, &rollingFileAppender);
46 >    }
47 >
48 >    template<class Formatter>
49 >    inline Logger<PLOG_DEFAULT_INSTANCE>& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0)
50 >    {
51 >        return init<Formatter, PLOG_DEFAULT_INSTANCE>(maxSeverity, fileName, maxFileSize, maxFiles);
52 >    }
53 >
54 >    //////////////////////////////////////////////////////////////////////////
55 >    // RollingFileAppender with TXT/CSV chosen by file extension
56 >
57 >    template<int instance>
58 >    inline Logger<instance>& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0)
59 >    {
60 >        return isCsv(fileName) ? init<CsvFormatter, instance>(maxSeverity, fileName, maxFileSize, maxFiles) : init<TxtFormatter, instance>(maxSeverity, fileName, maxFileSize, maxFiles);
61 >    }
62 >
63 >    inline Logger<PLOG_DEFAULT_INSTANCE>& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0)
64 >    {
65 >        return init<PLOG_DEFAULT_INSTANCE>(maxSeverity, fileName, maxFileSize, maxFiles);
66 >    }
67 >
68 >    //////////////////////////////////////////////////////////////////////////
69 >    // CHAR variants for Windows
70 >
71 > #ifdef _WIN32
72 >    template<class Formatter, int instance>
73 >    inline Logger<instance>& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0)
74 >    {
75 >        return init<Formatter, instance>(maxSeverity, util::toWide(fileName).c_str(), maxFileSize, maxFiles);
76 >    }
77 >
78 >    template<class Formatter>
79 >    inline Logger<PLOG_DEFAULT_INSTANCE>& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0)
80 >    {
81 >        return init<Formatter, PLOG_DEFAULT_INSTANCE>(maxSeverity, fileName, maxFileSize, maxFiles);
82 >    }
83 >
84 >    template<int instance>
85 >    inline Logger<instance>& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0)
86 >    {
87 >        return init<instance>(maxSeverity, util::toWide(fileName).c_str(), maxFileSize, maxFiles);
88 >    }
89 >
90 >    inline Logger<PLOG_DEFAULT_INSTANCE>& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0)
91 >    {
92 >        return init<PLOG_DEFAULT_INSTANCE>(maxSeverity, fileName, maxFileSize, maxFiles);
93 >    }
94 > #endif
95 > }

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)