shell命令执行失败时,记录日志优化。

pull/349/head
王良 2024-09-10 16:42:14 +08:00
parent 2e2a692a18
commit 6c4f108d76
2 changed files with 15 additions and 11 deletions

View File

@ -109,16 +109,16 @@ const executor = {
] ]
// http // http
if (config.get().proxy.proxyHttp) { if (config.get().proxy.proxyHttp) {
setProxyCmd[setProxyCmd.length] = 'gsettings set org.gnome.system.proxy.http enabled true' setProxyCmd.push('gsettings set org.gnome.system.proxy.http enabled true')
setProxyCmd[setProxyCmd.length] = `gsettings set org.gnome.system.proxy.http host ${ip}` setProxyCmd.push(`gsettings set org.gnome.system.proxy.http host ${ip}`)
setProxyCmd[setProxyCmd.length] = `gsettings set org.gnome.system.proxy.http port ${port}` setProxyCmd.push(`gsettings set org.gnome.system.proxy.http port ${port}`)
} else { } else {
setProxyCmd[setProxyCmd.length] = 'gsettings set org.gnome.system.proxy.http enabled false' setProxyCmd.push('gsettings set org.gnome.system.proxy.http enabled false')
setProxyCmd[setProxyCmd.length] = "gsettings set org.gnome.system.proxy.http host ''" setProxyCmd.push("gsettings set org.gnome.system.proxy.http host ''")
setProxyCmd[setProxyCmd.length] = 'gsettings set org.gnome.system.proxy.http port 0' setProxyCmd.push('gsettings set org.gnome.system.proxy.http port 0')
} }
// ignore-hosts // ignore-hosts
// setProxyCmd[setProxyCmd.length] = `gsettings set org.gnome.system.proxy ignore-hosts "${local}"` // setProxyCmd.push(`gsettings set org.gnome.system.proxy ignore-hosts "${local}"`)
await exec(setProxyCmd) await exec(setProxyCmd)
} else { } else {

View File

@ -66,7 +66,7 @@ class WindowsSystemShell extends SystemShell {
compose += ' && ' + cmd compose += ' && ' + cmd
} }
// compose += '&& exit' // compose += '&& exit'
const ret = await childExec(compose) const ret = await childExec(compose, args)
// log.info('cmd complete:', compose) // log.info('cmd complete:', compose)
return ret return ret
} }
@ -79,7 +79,9 @@ function _childExec (composeCmds, options = {}) {
log.info('shell:', composeCmds) log.info('shell:', composeCmds)
childProcess.exec(composeCmds, options, function (error, stdout, stderr) { childProcess.exec(composeCmds, options, function (error, stdout, stderr) {
if (error) { if (error) {
log.error('cmd 命令执行错误:', composeCmds, stderr) if (options.printErrorLog !== false) {
log.error('cmd 命令执行错误:\n==============================\ncommands:', composeCmds, '\n error:', error, '\n stdout:', stdout, '\n stderr:', stderr, '\n==============================')
}
reject(new Error(stderr)) reject(new Error(stderr))
} else { } else {
// log.info('cmd 命令完成:', stdout) // log.info('cmd 命令完成:', stdout)
@ -91,7 +93,7 @@ function _childExec (composeCmds, options = {}) {
}) })
} }
function childExec (composeCmds) { function childExec (composeCmds, options = {}) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const encoding = 'cp936' const encoding = 'cp936'
const binaryEncoding = 'binary' const binaryEncoding = 'binary'
@ -102,7 +104,9 @@ function childExec (composeCmds) {
if (error) { if (error) {
// console.log('------', decoder.decode(stderr)) // console.log('------', decoder.decode(stderr))
const message = iconv.decode(Buffer.from(stderr, binaryEncoding), encoding) const message = iconv.decode(Buffer.from(stderr, binaryEncoding), encoding)
log.error('cmd 命令执行错误:', composeCmds, message) if (options.printErrorLog !== false) {
log.error('cmd 命令执行错误:\n------------------------------\ncommands:', composeCmds, '\n message:', message, '\n error:', error, '\n stdout:', stdout, '\n stderr:', stderr, '\n------------------------------')
}
reject(new Error(message)) reject(new Error(message))
} else { } else {
// log.info('cmd 命令完成:', stdout) // log.info('cmd 命令完成:', stdout)