Skip to content

Commit

Permalink
Merge 236a65c into 2cc9052
Browse files Browse the repository at this point in the history
  • Loading branch information
Romakita committed May 29, 2022
2 parents 2cc9052 + 236a65c commit c23b31e
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 9 deletions.
12 changes: 12 additions & 0 deletions packages/logger/src/core/LogEvent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,16 @@ export class LogEvent {
public get pid() {
return this.context.get("pid");
}

public isMessage() {
return this.data.length && typeof this.data[0] !== "object";
}

public getData() {
return !this.isMessage() ? this.data[0] : {};
}

public getMessage() {
return this.isMessage() ? this.data : undefined;
}
}
33 changes: 33 additions & 0 deletions packages/logger/test/core/LogEvent.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import {LogEvent} from "../../src/core/LogEvent";
import {levels, LogContext} from "@tsed/logger";
import {expect} from "chai";

describe("LogEvent", () => {
it("should create a new logevent (data)", () => {
const event = new LogEvent(
"category",
levels().INFO,
[{
test: "test"
}],
new LogContext()
);

expect(event.getData()).to.deep.eq({
"test": "test"
});
expect(event.getMessage()).to.deep.eq(undefined);
});

it("should create a new logevent (message)", () => {
const event = new LogEvent(
"category",
levels().INFO,
["message"],
new LogContext()
);

expect(event.getData()).to.deep.eq({});
expect(event.getMessage()).to.deep.eq(["message"]);
});
});
7 changes: 3 additions & 4 deletions packages/loggly/src/LogglyAppender.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,21 +49,20 @@ export class LogglyAppender extends BaseAppender {
// Replace the data property with the deTaggedData
loggingEvent.data = deTaggedData;

const msg = this.layout(loggingEvent);

this.openRequests += 1;

this.logger.log(
{
msg: msg,
data: this.getData(),
msg: this.getMessage(),
level,
category: loggingEvent.categoryName,
hostname: os.hostname().toString()
},
additionalTags,
(error) => {
if (error) {
console.error("TsLogger.logglyAppender - error occurred: ", error);
console.error("Ts.ED Logger.logglyAppender - error occurred: ", error);
}

this.openRequests -= 1;
Expand Down
8 changes: 3 additions & 5 deletions packages/logstash-http/src/LogStashHttpAppender.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ function wrapErrorsWithInspect(items: any[]) {
}

function format(logData: any) {
return util.format(...wrapErrorsWithInspect(logData));
return logData ? util.format(...wrapErrorsWithInspect(logData)) : logData;
}

@Appender({name: "logstash-http"})
Expand Down Expand Up @@ -47,8 +47,6 @@ export class LogStashHttpAppender extends BaseAppender {
const level = loggingEvent.level.toString().toLowerCase();

if (level !== "off") {
const isMessage = loggingEvent.data.length && typeof loggingEvent.data[0] !== "object";

const logstashEvent = [
{
index: {
Expand All @@ -57,8 +55,8 @@ export class LogStashHttpAppender extends BaseAppender {
}
},
{
...(!isMessage ? loggingEvent.data[0] : {}),
message: isMessage ? format(loggingEvent.data) : undefined,
...loggingEvent.getData(),
message: format(loggingEvent.getMessage()),
context: loggingEvent.context.toJSON(),
level: loggingEvent.level.level / 100,
level_name: level,
Expand Down

0 comments on commit c23b31e

Please sign in to comment.