Skip to content

Commit 9482667

Browse files
committed
initializeConsoleLogger
1 parent 1008c2f commit 9482667

File tree

14 files changed

+36
-53
lines changed

14 files changed

+36
-53
lines changed

sources/asset-database/main.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,14 @@ void configParseCmd(int argc, const char *args[]);
99
void start();
1010
void listen();
1111

12-
bool consoleLogFilter(const cage::detail::LoggerInfo &info)
12+
bool logFilter(const cage::detail::LoggerInfo &info)
1313
{
1414
return info.severity >= SeverityEnum::Error || String(info.component) == "exception" || String(info.component) == "asset" || String(info.component) == "verdict" || String(info.component) == "help";
1515
}
1616

1717
int main(int argc, const char *args[])
1818
{
19-
Holder<Logger> conLog = newLogger();
20-
conLog->filter.bind<&consoleLogFilter>();
21-
conLog->format.bind<&logFormatConsole>();
22-
conLog->output.bind<&logOutputStdOut>();
23-
19+
initializeConsoleLogger()->filter.bind<logFilter>();
2420
try
2521
{
2622
configParseCmd(argc, args);

sources/image-channels/main.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,7 @@ void doJoin(const String names[MaxChannels], const String &output, const bool mo
8484

8585
int main(int argc, const char *args[])
8686
{
87-
Holder<Logger> log = newLogger();
88-
log->format.bind<logFormatConsole>();
89-
log->output.bind<logOutputStdOut>();
90-
87+
initializeConsoleLogger();
9188
try
9289
{
9390
Holder<Ini> cmd = newIni();

sources/image-convert/main.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@ void convert(String src, const String &format, bool preserveOriginal)
2929

3030
int main(int argc, const char *args[])
3131
{
32-
Holder<Logger> log = newLogger();
33-
log->format.bind<logFormatConsole>();
34-
log->output.bind<logOutputStdOut>();
35-
32+
initializeConsoleLogger();
3633
try
3734
{
3835
Holder<Ini> cmd = newIni();

sources/image-info/main.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,7 @@ void info(const String &src)
2626

2727
int main(int argc, const char *args[])
2828
{
29-
Holder<Logger> log = newLogger();
30-
log->format.bind<logFormatConsole>();
31-
log->output.bind<logOutputStdOut>();
32-
29+
initializeConsoleLogger();
3330
try
3431
{
3532
Holder<Ini> cmd = newIni();

sources/image-resize/main.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ void resize(String name, const Vec2i resolution)
2121

2222
int main(int argc, const char *args[])
2323
{
24-
Holder<Logger> log = newLogger();
25-
log->format.bind<logFormatConsole>();
26-
log->output.bind<logOutputStdOut>();
27-
24+
initializeConsoleLogger();
2825
try
2926
{
3027
Holder<Ini> cmd = newIni();

sources/image-untile/main.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,7 @@ void untile(const String &input, const String &output, uint32 x, uint32 y, uint3
7676

7777
int main(int argc, const char *args[])
7878
{
79-
Holder<Logger> log = newLogger();
80-
log->format.bind<logFormatConsole>();
81-
log->output.bind<logOutputStdOut>();
82-
79+
initializeConsoleLogger();
8380
try
8481
{
8582
Holder<Ini> cmd = newIni();

sources/include/cage-core/logger.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ namespace cage
5757
}
5858

5959
CAGE_CORE_API StringPointer severityToString(const SeverityEnum severity);
60+
61+
CAGE_CORE_API Logger *initializeConsoleLogger();
6062
}
6163

6264
#endif // guard_logger_h_0d9702a6_c7ca_4260_baff_7fc1b3c1dec5_

sources/libcore/logger.cpp

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ namespace cage
6060
loggerLast()->next = this;
6161
}
6262
loggerLast() = this;
63-
output.bind<&logOutputStdErr>();
63+
output.bind<logOutputStdErr>();
6464
}
6565

6666
~LoggerImpl()
@@ -98,12 +98,12 @@ namespace cage
9898
if (detail::isDebugging())
9999
{
100100
loggerDebug = newLogger();
101-
loggerDebug->format.bind<&logFormatConsole>();
102-
loggerDebug->output.bind<&logOutputDebug>();
101+
loggerDebug->format.bind<logFormatConsole>();
102+
loggerDebug->output.bind<logOutputDebug>();
103103
}
104104

105105
loggerFile = newLogger();
106-
loggerFile->format.bind<&logFormatFileShort>();
106+
loggerFile->format.bind<logFormatFileShort>();
107107

108108
try
109109
{
@@ -456,5 +456,22 @@ namespace cage
456456
CAGE_LOG(SeverityEnum::Info, "log", Stringizer() + "total duration: " + duration + " days, " + hours + " hours, " + mins + " minutes, " + secs + " seconds and " + micros + " microseconds");
457457
}
458458
} initialLogInstance;
459+
460+
struct ConsoleLogger : private Immovable
461+
{
462+
Holder<Logger> conLog = newLogger();
463+
464+
ConsoleLogger()
465+
{
466+
conLog->format.bind<logFormatConsole>();
467+
conLog->output.bind<logOutputStdOut>();
468+
}
469+
};
470+
}
471+
472+
Logger *initializeConsoleLogger()
473+
{
474+
static ConsoleLogger *inst = new ConsoleLogger(); // intentional leak
475+
return +inst->conLog;
459476
}
460477
}

sources/mesh-info/main.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,7 @@ bool logFilter(const detail::LoggerInfo &i)
105105

106106
int main(int argc, const char *args[])
107107
{
108-
Holder<Logger> log = newLogger();
109-
log->filter.bind<logFilter>();
110-
log->format.bind<logFormatConsole>();
111-
log->output.bind<logOutputStdOut>();
112-
108+
initializeConsoleLogger()->filter.bind<logFilter>();
113109
try
114110
{
115111
Holder<Ini> cmd = newIni();

sources/test-assets/main.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ using namespace cage;
77

88
int main(int argc, const char *args[])
99
{
10-
Holder<Logger> log = newLogger();
11-
log->format.bind<logFormatConsole>();
12-
log->output.bind<logOutputStdOut>();
13-
10+
initializeConsoleLogger();
1411
try
1512
{
1613
while (true)

0 commit comments

Comments
 (0)