ifm3d
log_entry.h
1
// -*- c++ -*-
2
/*
3
* Copyright 2023-present ifm electronic, gmbh
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
7
#ifndef IFM3D_COMMON_LOGGING_LOG_ENTRY_H
8
#define IFM3D_COMMON_LOGGING_LOG_ENTRY_H
9
10
#include <cstdarg>
11
#include <string>
12
#include <utility>
13
14
#include <ifm3d/common/logging/log_level.h>
15
#include <ifm3d/common/logging/time.h>
16
17
namespace
ifm3d
18
{
19
class
LogEntry
20
{
21
public
:
22
LogEntry
(std::string message,
23
LogLevel log_level,
24
const
char
* file,
25
const
char
*
function
,
26
size_t
line)
27
: _time(logging_clock::now()),
28
_log_level(log_level),
29
_message(std::move(message)),
30
_line(line),
31
_func(
function
),
32
_file(file)
33
{}
34
35
[[nodiscard]]
const
logging_timepoint&
36
GetTime()
const
37
{
38
return
_time;
39
}
40
41
[[nodiscard]] LogLevel
42
GetLogLevel()
const
43
{
44
return
_log_level;
45
}
46
47
[[nodiscard]]
size_t
48
GetLine()
const
49
{
50
return
_line;
51
}
52
53
[[nodiscard]]
const
char
*
54
GetMessage()
const
55
{
56
return
_message.c_str();
57
}
58
59
[[nodiscard]]
const
char
*
60
GetFunc()
const
61
{
62
return
_func;
63
}
64
65
[[nodiscard]]
const
char
*
66
GetFile()
const
67
{
68
return
_file;
69
}
70
71
private
:
72
logging_timepoint _time;
73
LogLevel _log_level;
74
std::string _message;
75
size_t
_line;
76
const
char
* _func;
77
const
char
* _file;
78
};
79
}
80
81
#endif // IFM3D_COMMON_LOGGING_LOG_ENTRY_H
ifm3d::LogEntry
Definition:
log_entry.h:19
ifm3d
common
logging
log_entry.h
Generated by
1.8.17