--- s10k/CommonLibs/plog/Init.h 2017/10/05 17:48:32 1073 +++ s10k/CommonLibs/plog/Init.h 2017/12/30 14:40:33 1096 @@ -1,95 +1,95 @@ -#pragma once -#include -#include -#include -#include -#include - -namespace plog -{ - namespace - { - bool isCsv(const util::nchar* fileName) - { - const util::nchar* dot = util::findExtensionDot(fileName); -#ifdef _WIN32 - return dot && 0 == std::wcscmp(dot, L".csv"); -#else - return dot && 0 == std::strcmp(dot, ".csv"); -#endif - } - } - - ////////////////////////////////////////////////////////////////////////// - // Empty initializer / one appender - - template - inline Logger& init(Severity maxSeverity = none, IAppender* appender = NULL) - { - static Logger logger(maxSeverity); - return appender ? logger.addAppender(appender) : logger; - } - - inline Logger& init(Severity maxSeverity = none, IAppender* appender = NULL) - { - return init(maxSeverity, appender); - } - - ////////////////////////////////////////////////////////////////////////// - // RollingFileAppender with any Formatter - - template - inline Logger& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0) - { - static RollingFileAppender rollingFileAppender(fileName, maxFileSize, maxFiles); - return init(maxSeverity, &rollingFileAppender); - } - - template - inline Logger& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0) - { - return init(maxSeverity, fileName, maxFileSize, maxFiles); - } - - ////////////////////////////////////////////////////////////////////////// - // RollingFileAppender with TXT/CSV chosen by file extension - - template - inline Logger& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0) - { - return isCsv(fileName) ? init(maxSeverity, fileName, maxFileSize, maxFiles) : init(maxSeverity, fileName, maxFileSize, maxFiles); - } - - inline Logger& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0) - { - return init(maxSeverity, fileName, maxFileSize, maxFiles); - } - - ////////////////////////////////////////////////////////////////////////// - // CHAR variants for Windows - -#ifdef _WIN32 - template - inline Logger& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0) - { - return init(maxSeverity, util::toWide(fileName).c_str(), maxFileSize, maxFiles); - } - - template - inline Logger& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0) - { - return init(maxSeverity, fileName, maxFileSize, maxFiles); - } - - template - inline Logger& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0) - { - return init(maxSeverity, util::toWide(fileName).c_str(), maxFileSize, maxFiles); - } - - inline Logger& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0) - { - return init(maxSeverity, fileName, maxFileSize, maxFiles); - } -#endif -} +#pragma once +#include +#include +#include +#include +#include + +namespace plog +{ + namespace + { + bool isCsv(const util::nchar* fileName) + { + const util::nchar* dot = util::findExtensionDot(fileName); +#ifdef _WIN32 + return dot && 0 == std::wcscmp(dot, L".csv"); +#else + return dot && 0 == std::strcmp(dot, ".csv"); +#endif + } + } + + ////////////////////////////////////////////////////////////////////////// + // Empty initializer / one appender + + template + inline Logger& init(Severity maxSeverity = none, IAppender* appender = NULL) + { + static Logger logger(maxSeverity); + return appender ? logger.addAppender(appender) : logger; + } + + inline Logger& init(Severity maxSeverity = none, IAppender* appender = NULL) + { + return init(maxSeverity, appender); + } + + ////////////////////////////////////////////////////////////////////////// + // RollingFileAppender with any Formatter + + template + inline Logger& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0) + { + static RollingFileAppender rollingFileAppender(fileName, maxFileSize, maxFiles); + return init(maxSeverity, &rollingFileAppender); + } + + template + inline Logger& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0) + { + return init(maxSeverity, fileName, maxFileSize, maxFiles); + } + + ////////////////////////////////////////////////////////////////////////// + // RollingFileAppender with TXT/CSV chosen by file extension + + template + inline Logger& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0) + { + return isCsv(fileName) ? init(maxSeverity, fileName, maxFileSize, maxFiles) : init(maxSeverity, fileName, maxFileSize, maxFiles); + } + + inline Logger& init(Severity maxSeverity, const util::nchar* fileName, size_t maxFileSize = 0, int maxFiles = 0) + { + return init(maxSeverity, fileName, maxFileSize, maxFiles); + } + + ////////////////////////////////////////////////////////////////////////// + // CHAR variants for Windows + +#ifdef _WIN32 + template + inline Logger& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0) + { + return init(maxSeverity, util::toWide(fileName).c_str(), maxFileSize, maxFiles); + } + + template + inline Logger& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0) + { + return init(maxSeverity, fileName, maxFileSize, maxFiles); + } + + template + inline Logger& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0) + { + return init(maxSeverity, util::toWide(fileName).c_str(), maxFileSize, maxFiles); + } + + inline Logger& init(Severity maxSeverity, const char* fileName, size_t maxFileSize = 0, int maxFiles = 0) + { + return init(maxSeverity, fileName, maxFileSize, maxFiles); + } +#endif +}