From 33011cb5ed2934433cd6c67100c3710092f82592 Mon Sep 17 00:00:00 2001 From: Amar Takhar Date: Tue, 1 Jun 2010 08:17:27 +0000 Subject: [PATCH] Split EmitterSTDOUT into unix/log.cpp and windows/log.cpp, the windows version is commented at the moment. Originally committed to SVN as r4397. --- aegisub/libaegisub/Makefile.am | 3 +- aegisub/libaegisub/common/log.cpp | 24 +-------- aegisub/libaegisub/include/libaegisub/log.h | 5 ++ aegisub/libaegisub/unix/log.cpp | 55 ++++++++++++++++++++ aegisub/libaegisub/windows/log.cpp | 56 +++++++++++++++++++++ 5 files changed, 119 insertions(+), 24 deletions(-) create mode 100644 aegisub/libaegisub/unix/log.cpp create mode 100644 aegisub/libaegisub/windows/log.cpp diff --git a/aegisub/libaegisub/Makefile.am b/aegisub/libaegisub/Makefile.am index 7c69f7c97..15a160a26 100644 --- a/aegisub/libaegisub/Makefile.am +++ b/aegisub/libaegisub/Makefile.am @@ -29,7 +29,8 @@ libaegisub_2_2_la_SOURCES = \ common/validator.cpp \ unix/util.cpp \ unix/io.cpp \ - unix/access.cpp + unix/access.cpp \ + unix/log.cpp noinst_HEADERS = *.h diff --git a/aegisub/libaegisub/common/log.cpp b/aegisub/libaegisub/common/log.cpp index a76f83efa..b7d594bcd 100644 --- a/aegisub/libaegisub/common/log.cpp +++ b/aegisub/libaegisub/common/log.cpp @@ -35,7 +35,7 @@ LogSink *log = new LogSink(); /// Short Severity ID /// Keep this ordered the same as Severity -const char* Severity_ID = "EAWID"; +const char *Severity_ID = "EAWID"; SinkMessage::SinkMessage(const char *section, Severity severity, const char *file, const char *func, int line, timeval tv): @@ -84,28 +84,6 @@ Emitter::~Emitter() { Emitter::Emitter() { } -void EmitSTDOUT::log(SinkMessage *sm) { - tm tmtime; - localtime_r(&sm->tv.tv_sec, &tmtime); - -// tmtime.tm_year+1900, -// tmtime.tm_mon, -// tmtime.tm_mday, - - printf("%c %02d:%02d:%02d %ld <%-25s> [%s:%s:%d] %s\n", - Severity_ID[sm->severity], - tmtime.tm_hour, - tmtime.tm_min, - tmtime.tm_sec, - sm->tv.tv_usec, - sm->section, - sm->file, - sm->func, - sm->line, - strndup(sm->message, - sm->len)); -} - int LogSink::Subscribe(Emitter &em) { emitters.push_back(&em); diff --git a/aegisub/libaegisub/include/libaegisub/log.h b/aegisub/libaegisub/include/libaegisub/log.h index 601c79e66..074650603 100644 --- a/aegisub/libaegisub/include/libaegisub/log.h +++ b/aegisub/libaegisub/include/libaegisub/log.h @@ -57,6 +57,11 @@ enum Severity { Debug ///< Enabled by default when compiled in debug mode. }; +/// Short Severity ID +/// Set in common/log.cpp, keep this ordered the same as Severity. +extern const char *Severity_ID; + + /// Container to hold a single message struct SinkMessage { /// @brief Constructor diff --git a/aegisub/libaegisub/unix/log.cpp b/aegisub/libaegisub/unix/log.cpp new file mode 100644 index 000000000..484d5db4a --- /dev/null +++ b/aegisub/libaegisub/unix/log.cpp @@ -0,0 +1,55 @@ +// Copyright (c) 2010, Amar Takhar +// +// Permission to use, copy, modify, and distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +// +// $Id$ + +/// @file log.cpp +/// @brief Unix logging +/// @ingroup libaegisub + + +#include +#include +#include + +#include "libaegisub/log.h" +#include "libaegisub/util.h" + +namespace agi { + namespace log { + +void EmitSTDOUT::log(SinkMessage *sm) { + tm tmtime; + localtime_r(&sm->tv.tv_sec, &tmtime); + +// tmtime.tm_year+1900, +// tmtime.tm_mon, +// tmtime.tm_mday, + + printf("%c %02d:%02d:%02d %ld <%-25s> [%s:%s:%d] %s\n", + Severity_ID[sm->severity], + tmtime.tm_hour, + tmtime.tm_min, + tmtime.tm_sec, + sm->tv.tv_usec, + sm->section, + sm->file, + sm->func, + sm->line, + strndup(sm->message, + sm->len)); +} + + } // namespace log +} // namespace agi diff --git a/aegisub/libaegisub/windows/log.cpp b/aegisub/libaegisub/windows/log.cpp new file mode 100644 index 000000000..e99cd9766 --- /dev/null +++ b/aegisub/libaegisub/windows/log.cpp @@ -0,0 +1,56 @@ +// Copyright (c) 2010, Amar Takhar +// +// Permission to use, copy, modify, and distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +// +// $Id$ + +/// @file log.cpp +/// @brief Windows logging +/// @ingroup libaegisub + + +#include +#include +#include + +#include "libaegisub/log.h" +#include "libaegisub/util.h" + +namespace agi { + namespace log { + +void EmitSTDOUT::log(SinkMessage *sm) { +/* + tm tmtime; + localtime_r(&sm->tv.tv_sec, &tmtime); + +// tmtime.tm_year+1900, +// tmtime.tm_mon, +// tmtime.tm_mday, + + printf("%c %02d:%02d:%02d %ld <%-25s> [%s:%s:%d] %s\n", + Severity_ID[sm->severity], + tmtime.tm_hour, + tmtime.tm_min, + tmtime.tm_sec, + sm->tv.tv_usec, + sm->section, + sm->file, + sm->func, + sm->line, + strndup(sm->message, + sm->len)); +} +*/ + } // namespace log +} // namespace agi