generateProperties()

in core/logging/log.js [316:354]


    generateProperties(properties) {
        /** @type {Object.<string, string>} */
        let finalProperties = null;

        if (this.defaultProperties) {
            finalProperties = Object.create(this.defaultProperties);
        }

        if (utils.isObject(properties)) {
            finalProperties = finalProperties || Object.create(null);
            finalProperties = Object.assign(finalProperties, properties);
        }

        if (this.logCallerInfo) {
            const callerInfo = Log.getCallerModuleInfo();

            if (callerInfo) {
                const typeName = callerInfo.typeName || "";
                let functionName = callerInfo.functionName;

                if (!functionName) {
                    functionName = `<Anonymous>@{${callerInfo.lineNumber},${callerInfo.columnNumber}}`;
                }

                finalProperties = finalProperties || Object.create(null);
                finalProperties["Caller.FileName"] = callerInfo.fileName;

                if (!utils.string.isEmptyOrWhitespace(typeName)) {
                    finalProperties["Caller.Name"] = `${typeName}.`;
                } else {
                    finalProperties["Caller.Name"] = "";
                }

                finalProperties["Caller.Name"] += `${functionName}()`;
            }
        }

        return finalProperties;
    }