8 #include "GaudiKernel/INamedInterface.h"
9 #include "GaudiKernel/CommonMessaging.h"
10 #include "GaudiKernel/IMessageSvc.h"
11 #include "GaudiKernel/MsgStream.h"
12 #include "GaudiKernel/CommonMessaging.h"
14 #include "Acts/Utilities/Logger.hpp"
38 std::unique_ptr<Acts::Logging::OutputPrintPolicy>
40 return std::make_unique<ActsAthenaPrintPolicy>(
m_msg,
name);
46 return m_msg->level() <= athLevel;
55 std::unique_ptr<Acts::Logging::OutputFilterPolicy>
58 auto msg = std::make_shared<MsgStream>(*
m_msg);
60 return std::make_unique<ActsAthenaFilterPolicy>(
msg);
63 std::unique_ptr<const Acts::Logger>
66 using namespace Acts::Logging;
68 std::string full_name =
name;
70 full_name = *parent_name +
"." + full_name;
73 auto msg = std::make_shared<MsgStream>(
svc, full_name);
75 auto filter = std::make_unique<ActsAthenaFilterPolicy>(
msg);
76 auto print = std::make_unique<ActsAthenaPrintPolicy>(
msg, full_name);
77 return std::make_unique<const Acts::Logger>(std::move(
print), std::move(
filter));
80 std::unique_ptr<const Acts::Logger>
82 auto msg = std::make_shared<MsgStream>(
parent->msg());
83 auto filter = std::make_unique<ActsAthenaFilterPolicy>(
msg);
84 auto print = std::make_unique<ActsAthenaPrintPolicy>(
msg,
name);
85 return std::make_unique<const Acts::Logger>(std::move(
print), std::move(
filter));
87 std::unique_ptr<const Acts::Logger>
91 const INamedInterface *inamed =
dynamic_cast<const INamedInterface*
>(
parent);
92 std::optional<std::string> parent_name = std::nullopt;
94 if (inamed ==
nullptr) {
95 throw std::invalid_argument(
"parent needs to be INamedInterface");
97 parent_name = inamed->name();
101 std::unique_ptr<const Acts::Logger>
105 const INamedInterface *inamed =
dynamic_cast<const INamedInterface*
>(
parent);
106 if (inamed !=
nullptr) {
112 std::unique_ptr<const Acts::Logger>