blob: e366ef2c2d197ee7346c47c33c3923c36987d81b [file] [log] [blame]
// Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <stdarg.h>
#include <syslog.h>
#include "crash/system_logging.h"
std::string SystemLoggingImpl::identity_;
SystemLoggingImpl::SystemLoggingImpl() {
}
SystemLoggingImpl::~SystemLoggingImpl() {
}
void SystemLoggingImpl::Initialize(const char *ident) {
// Man page does not specify if openlog copies its string or assumes
// the pointer is always valid, so make its scope global.
identity_ = ident;
openlog(identity_.c_str(), LOG_PID, LOG_USER);
}
void SystemLoggingImpl::LogInfo(const char *format, ...) {
va_list vl;
va_start(vl, format);
vsyslog(LOG_INFO, format, vl);
va_end(vl);
}
void SystemLoggingImpl::LogWarning(const char *format, ...) {
va_list vl;
va_start(vl, format);
vsyslog(LOG_WARNING, format, vl);
va_end(vl);
}
void SystemLoggingImpl::LogError(const char *format, ...) {
va_list vl;
va_start(vl, format);
vsyslog(LOG_ERR, format, vl);
va_end(vl);
}