Split EmitterSTDOUT into unix/log.cpp and windows/log.cpp, the windows version is commented at the moment.

Originally committed to SVN as r4397.
This commit is contained in:
Amar Takhar 2010-06-01 08:17:27 +00:00
parent 139f675ede
commit 33011cb5ed
5 changed files with 119 additions and 24 deletions

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -0,0 +1,55 @@
// Copyright (c) 2010, Amar Takhar <verm@aegisub.org>
//
// 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 <stdio.h>
#include <time.h>
#include <string.h>
#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

View file

@ -0,0 +1,56 @@
// Copyright (c) 2010, Amar Takhar <verm@aegisub.org>
//
// 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 <stdio.h>
#include <time.h>
#include <string.h>
#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