rclcpp
master
C++ ROS Client Library API
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
_
a
c
d
e
f
g
i
k
m
o
p
q
r
s
t
u
v
w
Functions
_
a
c
e
g
i
m
o
p
q
r
s
t
u
Variables
Typedefs
a
c
d
e
f
p
q
r
s
t
v
w
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Typedefs
a
b
c
e
g
i
m
o
p
r
s
t
v
w
Enumerations
Related Functions
Files
File List
File Members
All
_
r
Macros
_
r
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
include
rclcpp
logger.hpp
Go to the documentation of this file.
1
// Copyright 2017 Open Source Robotics Foundation, Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#ifndef RCLCPP__LOGGER_HPP_
16
#define RCLCPP__LOGGER_HPP_
17
18
#include <memory>
19
#include <string>
20
21
#include "
rclcpp/visibility_control.hpp
"
22
23
#include "rcl/node.h"
24
34
// TODO(dhood): determine this automatically from `RCLCPP_LOG_MIN_SEVERITY`
35
#ifndef RCLCPP_LOGGING_ENABLED
36
#define RCLCPP_LOGGING_ENABLED 1
37
#endif
38
39
namespace
rclcpp
40
{
41
42
// Forward declaration is used for friend statement.
43
namespace
node_interfaces
44
{
45
class
NodeLogging;
46
}
47
48
class
Logger;
49
51
61
RCLCPP_PUBLIC
62
Logger
63
get_logger
(
const
std::string
& name);
64
66
73
RCLCPP_PUBLIC
74
Logger
75
get_node_logger
(
const
rcl_node_t
* node);
76
77
class
Logger
78
{
79
private
:
80
friend
Logger
rclcpp::get_logger
(
const
std::string
& name);
81
friend ::rclcpp::node_interfaces::NodeLogging;
82
84
88
Logger
()
89
: name_(
nullptr
) {}
90
92
95
explicit
Logger
(
const
std::string
& name)
96
: name_(
new
std::string
(name)) {}
97
98
std::shared_ptr<const std::string>
name_;
99
100
public
:
101
RCLCPP_PUBLIC
102
Logger
(
const
Logger
&) =
default
;
103
105
110
RCLCPP_PUBLIC
111
const
char
*
112
get_name
()
const
113
{
114
if
(!name_) {
115
return
nullptr
;
116
}
117
return
name_->c_str();
118
}
119
121
132
RCLCPP_PUBLIC
133
Logger
134
get_child
(
const
std::string
& suffix)
135
{
136
if
(!name_) {
137
return
Logger
();
138
}
139
return
Logger
(*name_ +
"."
+ suffix);
140
}
141
};
142
143
}
// namespace rclcpp
144
145
#endif // RCLCPP__LOGGER_HPP_
rcl_node_t
std::string
std::shared_ptr< const std::string >
rclcpp::get_logger
Logger get_logger(const std::string &name)
Return a named logger.
rclcpp
This header provides the get_node_base_interface() template function.
Definition:
allocator_common.hpp:24
RCLCPP_PUBLIC
#define RCLCPP_PUBLIC
Definition:
visibility_control.hpp:50
rclcpp::Logger
Definition:
logger.hpp:77
rclcpp::Logger::get_name
const char * get_name() const
Get the name of this logger.
Definition:
logger.hpp:112
rclcpp::get_node_logger
Logger get_node_logger(const rcl_node_t *node)
Return a named logger using an rcl_node_t.
visibility_control.hpp
rclcpp::Logger::get_child
Logger get_child(const std::string &suffix)
Return a logger that is a descendant of this logger.
Definition:
logger.hpp:134
Generated by
1.8.17