Kea
1.5.0
db_log.cc
Go to the documentation of this file.
1
// Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
2
//
3
// This Source Code Form is subject to the terms of the Mozilla Public
4
// License, v. 2.0. If a copy of the MPL was not distributed with this
5
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
8
9
#include <config.h>
10
11
#include <
exceptions/exceptions.h
>
12
#include <
database/db_log.h
>
13
#include <database/db_messages.h>
14
15
using namespace
isc::log
;
16
17
namespace
isc
{
18
namespace
db {
19
21
extern
const
int
DB_DBG_TRACE_DETAIL
=
isc::log::DBGLVL_TRACE_DETAIL
;
22
24
const
DbLogger::MessageMap
db_message_map
= {
25
{
DB_INVALID_ACCESS
, DATABASE_INVALID_ACCESS },
26
27
{
PGSQL_DEALLOC_ERROR
, DATABASE_PGSQL_DEALLOC_ERROR },
28
{
PGSQL_FATAL_ERROR
, DATABASE_PGSQL_FATAL_ERROR },
29
{
PGSQL_START_TRANSACTION
, DATABASE_PGSQL_START_TRANSACTION },
30
{
PGSQL_COMMIT
, DATABASE_PGSQL_COMMIT },
31
{
PGSQL_ROLLBACK
, DATABASE_PGSQL_ROLLBACK },
32
33
{
MYSQL_FATAL_ERROR
, DATABASE_MYSQL_FATAL_ERROR },
34
{
MYSQL_START_TRANSACTION
, DATABASE_MYSQL_START_TRANSACTION },
35
{
MYSQL_COMMIT
, DATABASE_MYSQL_COMMIT },
36
{
MYSQL_ROLLBACK
, DATABASE_MYSQL_ROLLBACK },
37
38
{
CQL_DEALLOC_ERROR
, DATABASE_CQL_DEALLOC_ERROR },
39
{
CQL_CONNECTION_BEGIN_TRANSACTION
,
40
DATABASE_CQL_CONNECTION_BEGIN_TRANSACTION },
41
{
CQL_CONNECTION_COMMIT
, DATABASE_CQL_CONNECTION_COMMIT },
42
{
CQL_CONNECTION_ROLLBACK
, DATABASE_CQL_CONNECTION_ROLLBACK }
43
};
44
45
46
isc::log::Logger
database_logger
(
"database"
);
47
48
DbLogger
db_logger_translator
(
database_logger
,
db_message_map
);
49
50
DbLoggerStack
db_logger_stack
= {
db_logger_translator
};
51
52
53
const
MessageID
&
54
DbLogger::translateMessage(
const
DbMessageID
&
id
)
const
{
55
try
{
56
return
(map_.at(
id
));
57
}
catch
(
const
std::out_of_range&) {
58
isc_throw
(
isc::Unexpected
,
"can't map message: "
<<
id
);
59
}
60
}
61
62
void
checkDbLoggerStack
() {
63
if
(
db_logger_stack
.empty()) {
64
isc_throw
(
isc::Unexpected
,
"database logger stack is empty"
);
65
}
66
}
67
68
}
// namespace db
69
}
// namespace isc
isc::db::CQL_CONNECTION_ROLLBACK
@ CQL_CONNECTION_ROLLBACK
Definition:
db_log.h:68
isc::log::Logger
Logger Class.
Definition:
log/logger.h:143
isc::db::db_message_map
const DbLogger::MessageMap db_message_map
Map of translated messages.
Definition:
db_log.cc:24
isc::Unexpected
A generic exception that is thrown when an unexpected error condition occurs.
Definition:
exceptions/exceptions.h:153
isc::log
Definition:
buffer_appender_impl.cc:17
isc::db::DbLogger::MessageMap
std::map< DbMessageID, isc::log::MessageID > MessageMap
Translation map type.
Definition:
db_log.h:77
isc::db::DB_INVALID_ACCESS
@ DB_INVALID_ACCESS
Definition:
db_log.h:52
isc::db::PGSQL_ROLLBACK
@ PGSQL_ROLLBACK
Definition:
db_log.h:58
db_log.h
isc::log::DBGLVL_TRACE_DETAIL
const int DBGLVL_TRACE_DETAIL
Trace detailed operations.
Definition:
log_dbglevels.h:71
isc::db::PGSQL_DEALLOC_ERROR
@ PGSQL_DEALLOC_ERROR
Definition:
db_log.h:54
isc::db::CQL_DEALLOC_ERROR
@ CQL_DEALLOC_ERROR
Definition:
db_log.h:65
isc::db::DbMessageID
DbMessageID
Database messages.
Definition:
db_log.h:51
isc::db::db_logger_stack
DbLoggerStack db_logger_stack
Global database logger stack (initialized to dhcpsrv logger)
Definition:
db_log.cc:50
isc::db::DB_DBG_TRACE_DETAIL
const int DB_DBG_TRACE_DETAIL
Database logging levels.
Definition:
db_log.h:40
isc::db::PGSQL_START_TRANSACTION
@ PGSQL_START_TRANSACTION
Definition:
db_log.h:56
isc::db::PGSQL_FATAL_ERROR
@ PGSQL_FATAL_ERROR
Definition:
db_log.h:55
isc::db::CQL_CONNECTION_COMMIT
@ CQL_CONNECTION_COMMIT
Definition:
db_log.h:67
isc
Defines the logger used by the top-level component of kea-dhcp-ddns.
Definition:
agent_parser.cc:144
isc::db::MYSQL_ROLLBACK
@ MYSQL_ROLLBACK
Definition:
db_log.h:63
isc::db::db_logger_translator
DbLogger db_logger_translator(database_logger, db_message_map)
Database logger translator.
Definition:
db_log.h:157
isc_throw
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
Definition:
exceptions/exceptions.h:192
isc::db::checkDbLoggerStack
void checkDbLoggerStack()
Check database logger stack.
Definition:
db_log.cc:62
isc::db::PGSQL_COMMIT
@ PGSQL_COMMIT
Definition:
db_log.h:57
isc::db::database_logger
isc::log::Logger database_logger("database")
Common database library logger.
Definition:
db_log.h:45
isc::db::MYSQL_START_TRANSACTION
@ MYSQL_START_TRANSACTION
Definition:
db_log.h:61
isc::log::MessageID
const char * MessageID
Definition:
message_types.h:15
exceptions.h
isc::db::CQL_CONNECTION_BEGIN_TRANSACTION
@ CQL_CONNECTION_BEGIN_TRANSACTION
Definition:
db_log.h:66
isc::db::MYSQL_COMMIT
@ MYSQL_COMMIT
Definition:
db_log.h:62
isc::db::DbLoggerStack
std::list< DbLogger > DbLoggerStack
Database logger stack.
Definition:
db_log.h:102
isc::db::MYSQL_FATAL_ERROR
@ MYSQL_FATAL_ERROR
Definition:
db_log.h:60
src
lib
database
db_log.cc
Generated on Fri Jul 10 2020 09:12:51 for Kea by
1.8.18