Added LOG_JSON_SPACES to control json beautify (#2483)

* Added: environment var LOG_JSON_SPACES with default value 2. Used to no beautify JSON on handler.ts
Fix: logger.verbose was not working because default log level was info

* Update handler.ts

---------

Co-authored-by: patrick <patrick.alves@br.experian.com>
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
This commit is contained in:
patrickreinan
2024-05-29 14:25:32 -03:00
committed by GitHub
parent 5d649b27cf
commit 2878af69e4
2 changed files with 12 additions and 6 deletions
+11 -6
View File
@@ -14,16 +14,24 @@ import { ChainValues } from '@langchain/core/utils/types'
import { AgentAction } from '@langchain/core/agents'
import { LunaryHandler } from '@langchain/community/callbacks/handlers/lunary'
import { getCredentialData, getCredentialParam } from './utils'
import { getCredentialData, getCredentialParam, getEnvironmentVariable } from './utils'
import { ICommonObject, INodeData } from './Interface'
interface AgentRun extends Run {
actions: AgentAction[]
}
function tryGetJsonSpaces() {
try {
return parseInt(getEnvironmentVariable('LOG_JSON_SPACES') ?? '2')
} catch (err) {
return 2
}
}
function tryJsonStringify(obj: unknown, fallback: string) {
try {
return JSON.stringify(obj, null, 2)
return JSON.stringify(obj, null, tryGetJsonSpaces())
} catch (err) {
return fallback
}
@@ -49,10 +57,9 @@ export class ConsoleCallbackHandler extends BaseTracer {
constructor(logger: Logger) {
super()
this.logger = logger
logger.level = getEnvironmentVariable('LOG_LEVEL') ?? 'info'
}
// utility methods
getParents(run: Run) {
const parents: Run[] = []
let currentRun = run
@@ -79,8 +86,6 @@ export class ConsoleCallbackHandler extends BaseTracer {
return string
}
// logging methods
onChainStart(run: Run) {
const crumbs = this.getBreadcrumbs(run)
this.logger.verbose(`[chain/start] [${crumbs}] Entering Chain run with input: ${tryJsonStringify(run.inputs, '[inputs]')}`)