Skip to content

Commit 60f66d0

Browse files
Merge branch '44-chnage-program-name-bug' into develop
2 parents 1b5bfdb + da999e3 commit 60f66d0

File tree

7 files changed

+28
-13
lines changed

7 files changed

+28
-13
lines changed

CHANGELOG

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
- memset issue (#40)
99
- use CMake build system (#37)
1010
- replace cpp-pthread features by standard C++17 ones (#38)
11-
- Fixed bugs #56, #57, #71
11+
- Fixed bugs #56, #57, #71, #44
1212

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ endif(BUILD_TESTS)
7676
find_package(Doxygen REQUIRED dot OPTIONAL_COMPONENTS mscgen dia)
7777
if (Doxygen_FOUND)
7878
set(DOXYGEN_EXAMPLE_PATH tests)
79+
set(DOXYGEN_EXTRACT_ALL yes)
7980
set(DOXYGEN_PROJECT_BRIEF "Simple C++ wrapper to pthread functions.")
8081
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md")
8182
doxygen_add_docs(doxygen README.md src include COMMENT "generate on-line documentation")

include/logger/logger.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,9 @@ namespace logger {
180180
/** @return logger's name */
181181
const std::string &name() const;
182182

183+
/** @return logger's program name */
184+
const std::string &program_name() const;
185+
183186
/** create a logger instance.
184187
*
185188
* @param name logger name

include/logger/registry.hpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ namespace logger {
2727

2828
/** Searches the registry for the wanted logger instance.
2929
*
30-
* If the logger doesn't exist, then a new one is created and registered. Else the existing one is returned.:w
30+
* If the logger doesn't exist, then a new one is created and registered. Else the existing one is returned. The factory
31+
* create instances of stdout_sinks.
3132
*
3233
* @param name unique logger name
3334
* @return a logger instance
34-
* @see stdout_sink sink type used when creating a new instance.
35+
* @see logger::stdout_sink
3536
*/
3637
logger_ptr get (const std::string &name );
3738

@@ -54,6 +55,8 @@ namespace logger {
5455
* *WARN* This name will be used by loggers created after this call. Pre-existing ones are not affected.
5556
*
5657
* @param pname program name
58+
* @see logger::sink#program_name
59+
* @see logger::logger#program_name
5760
*/
5861
void set_program_name(const std::string &pname);
5962

@@ -67,7 +70,7 @@ namespace logger {
6770
class registry {
6871
public:
6972

70-
/** registry factory.
73+
/** @return registry singleton
7174
*/
7275
static registry &instance();
7376

@@ -200,7 +203,7 @@ namespace logger {
200203
* @param name logger instance name
201204
* @param args sink's constructor arguments
202205
* @return a logger instance
203-
* @see sink
206+
* @see logger::sink
204207
*/
205208
template<class T, typename... Args> logger_ptr get( const std::string &name, const Args&... args){
206209
return registry::instance().get<T>(name, args...);

include/logger/sinks.hpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,15 @@ namespace logger {
6969
};
7070

7171
/** @return logger name */
72-
std::string name() const {
72+
const std::string &name() const {
7373
return _name;
7474
};
7575

76+
/** @return program name */
77+
const std::string &program_name() const {
78+
return _pname ;
79+
}
80+
7681
/** change the current ecid.
7782
*
7883
* Setting this to an empty string will stop logger to prin

src/logger.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ namespace logger {
5151
/** @return logger name */
5252
const std::string &logger::name() const {
5353
return _name;
54+
}
55+
56+
const std::string &logger::program_name() const {
57+
return _sink->program_name();
5458
};
5559

5660
} // namespace logger

tests/logger_tests.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,14 @@ TEST(logger, change_ecid) {
8787
EXPECT_EQ(err->ecid(), "[M ECID=\"NEW ECID\"]");
8888
}
8989

90-
TEST(logger, DISABLED_change_program_name) {
91-
logger::logger_ptr out = logger::get<logger::stdout_sink>("stdout-test-logger");
92-
EXPECT_NE(out, nullptr);
93-
EXPECT_EQ(out->name(), "stdout-test-logger");
90+
TEST(logger, program_name) {
9491

95-
auto pname = out->name();
96-
logger::set_program_name("goolge-tests");
92+
logger::set_program_name("google-tests");
93+
logger::logger_ptr out = logger::get<logger::stdout_sink>("stdout-change-pname");
94+
95+
EXPECT_NE(out, nullptr);
96+
EXPECT_EQ(out->program_name(), "google-tests");
9797

98-
EXPECT_EQ(out->name(), "google-tests");
9998
}
10099

101100
TEST(logger, DISABLED_legacy) {

0 commit comments

Comments
 (0)