summaryrefslogtreecommitdiff
path: root/SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/src/clogger.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/src/clogger.cxx')
-rw-r--r--SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/src/clogger.cxx190
1 files changed, 190 insertions, 0 deletions
diff --git a/SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/src/clogger.cxx b/SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/src/clogger.cxx
new file mode 100644
index 000000000..f8578ffad
--- /dev/null
+++ b/SDL_Core/src/thirdPartyLibs/logger/log4cplus-1.1.0/src/clogger.cxx
@@ -0,0 +1,190 @@
+// Module: Log4CPLUS
+// File: clogger.cxx
+// Created: 01/2011
+// Author: Jens Rehsack
+//
+//
+// Copyright 2011 Jens Rehsack & Tad E. Smith
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include <log4cplus/logger.h>
+#include <log4cplus/clogger.h>
+#include <log4cplus/appender.h>
+#include <log4cplus/hierarchy.h>
+#include <log4cplus/helpers/loglog.h>
+#include <log4cplus/spi/loggerimpl.h>
+#include <log4cplus/configurator.h>
+#include <log4cplus/streams.h>
+#include <log4cplus/helpers/snprintf.h>
+
+#include <cerrno>
+#include <cstdio>
+#include <cstdarg>
+#include <cstring>
+
+#include <sstream>
+
+using namespace log4cplus;
+using namespace log4cplus::helpers;
+
+LOG4CPLUS_EXPORT int
+log4cplus_file_configure(const log4cplus_char_t *pathname)
+{
+ if( !pathname )
+ return EINVAL;
+
+ try
+ {
+ PropertyConfigurator::doConfigure( pathname );
+ }
+ catch(std::exception const &)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+
+LOG4CPLUS_EXPORT int
+log4cplus_str_configure(const log4cplus_char_t *config)
+{
+ if( !config )
+ return EINVAL;
+
+ try
+ {
+ tstring s(config);
+ tistringstream iss(s);
+ PropertyConfigurator pc(iss);
+ pc.configure();
+ }
+ catch(std::exception const &)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+
+LOG4CPLUS_EXPORT int
+log4cplus_basic_configure(void)
+{
+ try
+ {
+ BasicConfigurator::doConfigure();
+ }
+ catch(std::exception const &)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+
+LOG4CPLUS_EXPORT void
+log4cplus_shutdown(void)
+{
+ Logger::shutdown();
+}
+
+LOG4CPLUS_EXPORT int
+log4cplus_logger_exists(const log4cplus_char_t *name)
+{
+ int retval = false;
+
+ try
+ {
+ retval = Logger::exists(name);
+ }
+ catch(std::exception const &)
+ {
+ // Fall through.
+ }
+
+ return retval;
+}
+
+LOG4CPLUS_EXPORT int
+log4cplus_logger_is_enabled_for(const log4cplus_char_t *name, loglevel_t ll)
+{
+ int retval = false;
+
+ try
+ {
+ Logger logger = name ? Logger::getInstance(name) : Logger::getRoot();
+ retval = logger.isEnabledFor(ll);
+ }
+ catch(std::exception const &)
+ {
+ // Fall through.
+ }
+
+ return retval;
+}
+
+LOG4CPLUS_EXPORT int
+log4cplus_logger_log(const log4cplus_char_t *name, loglevel_t ll,
+ const log4cplus_char_t *msgfmt, ...)
+{
+ int retval = -1;
+
+ try
+ {
+ Logger logger = name ? Logger::getInstance(name) : Logger::getRoot();
+
+ if( logger.isEnabledFor(ll) )
+ {
+ std::va_list ap;
+ va_start(ap, msgfmt);
+ snprintf_buf buf;
+ const tchar * msg = buf.print_va_list(msgfmt, ap);
+ va_end(ap);
+ logger.forcedLog(ll, msg);
+ }
+
+ retval = 0;
+ }
+ catch(std::exception const &)
+ {
+ // Fall through.
+ }
+
+ return retval;
+}
+
+LOG4CPLUS_EXPORT int
+log4cplus_logger_force_log(const log4cplus_char_t *name, loglevel_t ll, const log4cplus_char_t *msgfmt, ...)
+{
+ int retval = -1;
+
+ try
+ {
+ Logger logger = name ? Logger::getInstance(name) : Logger::getRoot();
+
+ std::va_list ap;
+ va_start(ap, msgfmt);
+ snprintf_buf buf;
+ const tchar * msg = buf.print_va_list(msgfmt, ap);
+ va_end(ap);
+ logger.forcedLog(ll, msg);
+
+ retval = 0;
+ }
+ catch(std::exception const &)
+ {
+ // Fall through.
+ }
+
+ return retval;
+}