Skip to content

Commit

Permalink
Fix #71
Browse files Browse the repository at this point in the history
  • Loading branch information
terehov committed Dec 15, 2020
1 parent d8b0525 commit 26c630d
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 35 deletions.
15 changes: 7 additions & 8 deletions src/LoggerHelper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,12 @@ export class LoggerHelper {
filePath: LoggerHelper.cleanUpFilePath(filePath) ?? "",
fullFilePath: filePath ?? "",
fileName: fileBasename(stackFrame.getFileName() ?? ""),
lineNumber: stackFrame.getLineNumber(),
columnNumber: stackFrame.getColumnNumber(),
isConstructor: stackFrame.isConstructor(),
functionName: stackFrame.getFunctionName(),
typeName: stackFrame.getTypeName(),
methodName: stackFrame.getMethodName(),
lineNumber: stackFrame.getLineNumber() ?? undefined,
columnNumber: stackFrame.getColumnNumber() ?? undefined,
isConstructor: stackFrame.isConstructor() ?? undefined,
functionName: stackFrame.getFunctionName() ?? undefined,
typeName: stackFrame.getTypeName() ?? undefined,
methodName: stackFrame.getMethodName() ?? undefined,
};
}

Expand Down Expand Up @@ -223,8 +223,7 @@ export class LoggerHelper {
public static _getCodeFrame(
filePath: string,
lineNumber: number,
// eslint-disable-next-line @rushstack/no-new-null
columnNumber: number | null,
columnNumber: number | undefined,
linesBeforeAndAfter: number
): ICodeFrame | undefined {
const lineNumberMinusOne: number = lineNumber - 1;
Expand Down
40 changes: 23 additions & 17 deletions src/LoggerWithoutCallSite.ts
Original file line number Diff line number Diff line change
Expand Up @@ -369,12 +369,14 @@ export class LoggerWithoutCallSite {
const relevantCallSites: NodeJS.CallSite[] = callSites.splice(
this.settings.ignoreStackLevels
);
const stackFrame: NodeJS.CallSite = this._callSiteWrapper(
relevantCallSites[0]
);
const stackFrameObject: IStackFrame = LoggerHelper.toStackFrameObject(
stackFrame
);
const stackFrame: NodeJS.CallSite | undefined =
relevantCallSites[0] != null
? this._callSiteWrapper(relevantCallSites[0])
: undefined;
const stackFrameObject: IStackFrame | undefined =
stackFrame != null
? LoggerHelper.toStackFrameObject(stackFrame)
: undefined;

const requestId: string | undefined =
this.settings.requestId instanceof Function
Expand All @@ -389,15 +391,15 @@ export class LoggerWithoutCallSite {
date: new Date(),
logLevel: logLevel,
logLevelId: this._logLevels.indexOf(logLevel) as TLogLevelId,
filePath: stackFrameObject.filePath,
fullFilePath: stackFrameObject.fullFilePath,
fileName: stackFrameObject.fileName,
lineNumber: stackFrameObject.lineNumber,
columnNumber: stackFrameObject.columnNumber,
isConstructor: stackFrameObject.isConstructor,
functionName: stackFrameObject.functionName,
typeName: stackFrameObject.typeName,
methodName: stackFrameObject.methodName,
filePath: stackFrameObject?.filePath,
fullFilePath: stackFrameObject?.fullFilePath,
fileName: stackFrameObject?.fileName,
lineNumber: stackFrameObject?.lineNumber,
columnNumber: stackFrameObject?.columnNumber,
isConstructor: stackFrameObject?.isConstructor,
functionName: stackFrameObject?.functionName,
typeName: stackFrameObject?.typeName,
methodName: stackFrameObject?.methodName,
argumentsArray: [],
toJSON: () => this._logObjectToJson(logObject),
};
Expand Down Expand Up @@ -457,11 +459,14 @@ export class LoggerWithoutCallSite {
this._callSiteWrapper(relevantCallSites[0])
);
if (exposeErrorCodeFrame && errorCallSite.lineNumber != null) {
if (errorCallSite.fullFilePath.indexOf("node_modules") < 0) {
if (
errorCallSite.fullFilePath != null &&
errorCallSite.fullFilePath.indexOf("node_modules") < 0
) {
errorObject.codeFrame = LoggerHelper._getCodeFrame(
errorCallSite.fullFilePath,
errorCallSite.lineNumber,
errorCallSite.columnNumber,
errorCallSite?.columnNumber,
this.settings.exposeErrorCodeFrameLinesBeforeAndAfter
);
}
Expand Down Expand Up @@ -576,6 +581,7 @@ export class LoggerWithoutCallSite {
if (
this.settings.displayFilePath === "displayAll" ||
(this.settings.displayFilePath === "hideNodeModulesOnly" &&
logObject.filePath != null &&
logObject.filePath.indexOf("node_modules") < 0)
) {
fileLocation = `${logObject.filePath}:${logObject.lineNumber}`;
Expand Down
20 changes: 10 additions & 10 deletions src/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -215,23 +215,23 @@ export interface IStd {
*/
export interface IStackFrame {
/** Relative path based on the main folder */
filePath: string;
filePath: string | undefined;
/** Full path */
fullFilePath: string;
fullFilePath: string | undefined;
/** Name of the file */
fileName: string;
fileName: string | undefined;
/** Line number */
lineNumber: number | null;
lineNumber: number | undefined;
/** Column Name */
columnNumber: number | null;
columnNumber: number | undefined;
/** Called from constructor */
isConstructor: boolean | null;
isConstructor: boolean | undefined;
/** Name of the function */
functionName: string | null;
functionName: string | undefined;
/** Name of the class */
typeName: string | null;
typeName: string | undefined;
/** Name of the Method */
methodName: string | null;
methodName: string | undefined;
}

/**
Expand Down Expand Up @@ -390,7 +390,7 @@ export interface IHighlightStyles {
export interface ICodeFrame {
firstLineNumber: number;
lineNumber: number;
columnNumber: number | null;
columnNumber: number | undefined;
linesBefore: string[];
relevantLine: string;
linesAfter: string[];
Expand Down

0 comments on commit 26c630d

Please sign in to comment.