Skip to content

Commit c16b2ca

Browse files
Merge pull request #53 from logdash-io/stringify-json-arguments
feat: stringify json arguments
2 parents eb7cea6 + 6d8dc70 commit c16b2ca

2 files changed

Lines changed: 28 additions & 8 deletions

File tree

.changeset/spotty-jokes-invite.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@logdash/js-sdk": patch
3+
---
4+
5+
feat: stringify json arguments

src/logger/Logger.ts

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,35 +20,50 @@ export class Logger {
2020
) {}
2121

2222
error(...data: any[]): void {
23-
this._log(LogLevel.ERROR, data.join(' '));
23+
this._log(LogLevel.ERROR, this._formatData(data));
2424
}
2525

2626
warn(...data: any[]): void {
27-
this._log(LogLevel.WARN, data.join(' '));
27+
this._log(LogLevel.WARN, this._formatData(data));
2828
}
2929

3030
info(...data: any[]): void {
31-
this._log(LogLevel.INFO, data.join(' '));
31+
this._log(LogLevel.INFO, this._formatData(data));
3232
}
3333

3434
log(...data: any[]): void {
35-
this._log(LogLevel.INFO, data.join(' '));
35+
this._log(LogLevel.INFO, this._formatData(data));
3636
}
3737

3838
http(...data: any[]): void {
39-
this._log(LogLevel.HTTP, data.join(' '));
39+
this._log(LogLevel.HTTP, this._formatData(data));
4040
}
4141

4242
verbose(...data: any[]): void {
43-
this._log(LogLevel.VERBOSE, data.join(' '));
43+
this._log(LogLevel.VERBOSE, this._formatData(data));
4444
}
4545

4646
debug(...data: any[]): void {
47-
this._log(LogLevel.DEBUG, data.join(' '));
47+
this._log(LogLevel.DEBUG, this._formatData(data));
4848
}
4949

5050
silly(...data: any[]): void {
51-
this._log(LogLevel.SILLY, data.join(' '));
51+
this._log(LogLevel.SILLY, this._formatData(data));
52+
}
53+
54+
private _formatData(data: any[]): string {
55+
return data
56+
.map((item) => {
57+
if (typeof item === 'object' && item !== null) {
58+
try {
59+
return JSON.stringify(item);
60+
} catch (e) {
61+
return String(item);
62+
}
63+
}
64+
return String(item);
65+
})
66+
.join(' ');
5267
}
5368

5469
private _log(level: LogLevel, message: string): void {

0 commit comments

Comments
 (0)