mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Renderer file logging transport
Add file logging to renderer, writing separate log files for renderer main frame and each cluster frame. Related to lensapp/support-lens-extension#118 Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
This commit is contained in:
parent
a8a59ff191
commit
03d51a71a2
@ -0,0 +1,44 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import { transports } from "winston";
|
||||||
|
import directoryForLogsInjectable from "../../common/app-paths/directory-for-logs.injectable";
|
||||||
|
import { loggerTransportInjectionToken } from "../../common/logger/transports";
|
||||||
|
import windowLocationInjectable from "../../common/k8s-api/window-location.injectable";
|
||||||
|
import currentlyInClusterFrameInjectable from "../routes/currently-in-cluster-frame.injectable";
|
||||||
|
import { getClusterIdFromHost } from "../utils";
|
||||||
|
|
||||||
|
const rendererFileLoggerTransportInjectable = getInjectable({
|
||||||
|
id: "renderer-file-logger-transport",
|
||||||
|
instantiate: (di) => {
|
||||||
|
let frameId: string;
|
||||||
|
|
||||||
|
const currentlyInClusterFrame = di.inject(
|
||||||
|
currentlyInClusterFrameInjectable,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (currentlyInClusterFrame) {
|
||||||
|
const { host } = di.inject(windowLocationInjectable);
|
||||||
|
const clusterId = getClusterIdFromHost(host);
|
||||||
|
|
||||||
|
frameId = clusterId ? `cluster-${clusterId}` : "cluster";
|
||||||
|
} else {
|
||||||
|
frameId = "main";
|
||||||
|
}
|
||||||
|
|
||||||
|
return new transports.File({
|
||||||
|
handleExceptions: false,
|
||||||
|
level: "debug",
|
||||||
|
filename: `lens-renderer-${frameId}.log`,
|
||||||
|
dirname: di.inject(directoryForLogsInjectable),
|
||||||
|
maxsize: 1024 * 1024,
|
||||||
|
maxFiles: 0,
|
||||||
|
tailable: true,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
injectionToken: loggerTransportInjectionToken,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default rendererFileLoggerTransportInjectable;
|
||||||
Loading…
Reference in New Issue
Block a user