Skip to content

Commit 1db0851

Browse files
author
Abhinav Gautam
authored
Merge pull request #15 from Codebucket-Solutions/dev
transport changes
2 parents 658ab0b + 2921626 commit 1db0851

File tree

4 files changed

+60
-30
lines changed

4 files changed

+60
-30
lines changed

.env.example

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
LOGSTASH_HOST=
22
LOGSTASH_PORT=
33
SSL_CERT_PATH=
4-
SSL_KEY_PATH=
4+
SSL_KEY_PATH=
5+
USE_LOGSERVER= //Set Yes to use logserver instead of directly connecting to logstash
6+
LOGSERVER_BASEURL=
7+
LOGSERVER_API_KEY=

app.ts

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,43 @@ import os from "os";
44
import winston from "winston";
55
import stripAnsi from "strip-ansi";
66
import LogstashTransport from "winston-logstash/lib/winston-logstash-latest.js";
7+
import { LogserverTransport } from "winston-logserver-transport";
78

89
dotenv.config();
910

10-
const { LOGSTASH_HOST, LOGSTASH_PORT, SSL_CERT_PATH, SSL_KEY_PATH } =
11-
process.env;
11+
const {
12+
LOGSTASH_HOST,
13+
LOGSTASH_PORT,
14+
SSL_CERT_PATH,
15+
SSL_KEY_PATH,
16+
USE_LOGSERVER,
17+
LOGSERVER_BASEURL,
18+
LOGSERVER_API_KEY,
19+
} = process.env;
20+
1221
const hostname = os.hostname();
1322

1423
const logger = winston.createLogger();
1524

16-
logger.add(
17-
new LogstashTransport({
18-
port: LOGSTASH_PORT,
19-
host: LOGSTASH_HOST,
20-
ssl_enable: true,
21-
ssl_key: SSL_KEY_PATH,
22-
ssl_cert: SSL_CERT_PATH,
23-
rejectUnauthorized: false, //Does Not Work Without This Apparently
24-
})
25-
);
25+
if (USE_LOGSERVER == "yes")
26+
logger.add(
27+
new LogserverTransport({
28+
apiBaseUrl: LOGSERVER_BASEURL,
29+
apiKey: LOGSERVER_API_KEY,
30+
})
31+
);
32+
else {
33+
logger.add(
34+
new LogstashTransport({
35+
port: LOGSTASH_PORT,
36+
host: LOGSTASH_HOST,
37+
ssl_enable: true,
38+
ssl_key: SSL_KEY_PATH,
39+
ssl_cert: SSL_CERT_PATH,
40+
rejectUnauthorized: false, //Does Not Work Without This Apparently
41+
})
42+
);
43+
}
2644

2745
logger.on("error", (error) => {
2846
console.log(error);
@@ -55,8 +73,8 @@ pm2.launchBus(function (err, bus) {
5573
service: "PM2",
5674
application: log.process.name,
5775
environment: errorFlag ? "error" : "output",
58-
level: errorFlag ? "error" : "info",
59-
user: hostname,
76+
logLevel: errorFlag ? "error" : "info",
77+
host: hostname,
6078
message: log.data,
6179
};
6280
logger.info(message);
@@ -73,8 +91,8 @@ pm2.launchBus(function (err, bus) {
7391
service: "PM2",
7492
application: log.process.name,
7593
environment: "error",
76-
level: "error",
77-
user: hostname,
94+
logLevel: "error",
95+
host: hostname,
7896
message: log.data,
7997
};
8098
logger.error(message);

dist/app.js

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,26 @@ import os from "os";
44
import winston from "winston";
55
import stripAnsi from "strip-ansi";
66
import LogstashTransport from "winston-logstash/lib/winston-logstash-latest.js";
7+
import { LogserverTransport } from "winston-logserver-transport";
78
dotenv.config();
8-
const { LOGSTASH_HOST, LOGSTASH_PORT, SSL_CERT_PATH, SSL_KEY_PATH } = process.env;
9+
const { LOGSTASH_HOST, LOGSTASH_PORT, SSL_CERT_PATH, SSL_KEY_PATH, USE_LOGSERVER, LOGSERVER_BASEURL, LOGSERVER_API_KEY, } = process.env;
910
const hostname = os.hostname();
1011
const logger = winston.createLogger();
11-
logger.add(new LogstashTransport({
12-
port: LOGSTASH_PORT,
13-
host: LOGSTASH_HOST,
14-
ssl_enable: true,
15-
ssl_key: SSL_KEY_PATH,
16-
ssl_cert: SSL_CERT_PATH,
17-
rejectUnauthorized: false, //Does Not Work Without This Apparently
18-
}));
12+
if (USE_LOGSERVER == "yes")
13+
logger.add(new LogserverTransport({
14+
apiBaseUrl: LOGSERVER_BASEURL,
15+
apiKey: LOGSERVER_API_KEY,
16+
}));
17+
else {
18+
logger.add(new LogstashTransport({
19+
port: LOGSTASH_PORT,
20+
host: LOGSTASH_HOST,
21+
ssl_enable: true,
22+
ssl_key: SSL_KEY_PATH,
23+
ssl_cert: SSL_CERT_PATH,
24+
rejectUnauthorized: false, //Does Not Work Without This Apparently
25+
}));
26+
}
1927
logger.on("error", (error) => {
2028
console.log(error);
2129
});
@@ -35,8 +43,8 @@ pm2.launchBus(function (err, bus) {
3543
service: "PM2",
3644
application: log.process.name,
3745
environment: errorFlag ? "error" : "output",
38-
level: errorFlag ? "error" : "info",
39-
user: hostname,
46+
logLevel: errorFlag ? "error" : "info",
47+
host: hostname,
4048
message: log.data,
4149
};
4250
logger.info(message);
@@ -52,8 +60,8 @@ pm2.launchBus(function (err, bus) {
5260
service: "PM2",
5361
application: log.process.name,
5462
environment: "error",
55-
level: "error",
56-
user: hostname,
63+
logLevel: "error",
64+
host: hostname,
5765
message: log.data,
5866
};
5967
logger.error(message);

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"pm2": "^5.3.1",
1010
"strip-ansi": "^7.1.0",
1111
"winston": "^3.13.0",
12+
"winston-logserver-transport": "github:Codebucket-Solutions/Winston-Logstash-Batch-Server-Transport",
1213
"winston-logstash": "^1.2.1"
1314
},
1415
"name": "pm2-logstash-typescript",

0 commit comments

Comments
 (0)