Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
shell脚本错误日志记录_Shell_Logging_Scripting_Descriptor - Fatal编程技术网

shell脚本错误日志记录

shell脚本错误日志记录,shell,logging,scripting,descriptor,Shell,Logging,Scripting,Descriptor,我正在尝试在shell脚本中设置一个简单的日志框架。为此,我想定义一个“log”函数,可调用为 log "LEVEL" $message 其中消息是一个变量,我之前已将已执行命令的输出重定向到该变量。我的问题是,我得到以下错误 {message=command 2>&3 1>&3 3>&-} >&3 log "INFO" $message 有点不对劲,不是吗 TIA也许您想要: message=$( command 2>&

我正在尝试在shell脚本中设置一个简单的日志框架。为此,我想定义一个“log”函数,可调用为

log "LEVEL" $message
其中消息是一个变量,我之前已将已执行命令的输出重定向到该变量。我的问题是,我得到以下错误

{message=command 2>&3 1>&3 3>&-} >&3
log "INFO" $message
有点不对劲,不是吗

TIA

也许您想要:

message=$( command 2>&1 )
log INFO "$message"
除了
$()
,您还需要在花括号中使用空格和分号(如果需要):


还不完全清楚您的问题是否与日志记录有关(看起来您的问题是捕获要记录的文本,glenn jackman已经巧妙地提出了解决方案),但以防万一,您可能希望了解大多数Unix系统上的
logger
命令,它提供shell脚本编写系统日志的能力。它有不同的层次、优先级和所有方面。非常方便。

我已经为我的shell脚本开发了一个简单的脚本,您可以查看它的用途、灵感或任何您想要的东西。

错误?什么错误?我看这里没有错误。(换句话说,如果您发布错误,它会有所帮助。)我无法访问脚本ATM,只能使用内存。我将编辑我的文章ASAPHi,这将是一个好的,但我没有访问syslog配置。不管怎样,感谢eddyI最终这样做,并在命令返回值上切换日志目的地。ThanksHi,这就是我最后要做的,还有一个if开关,用于检查命令返回值并适当设置日志类别。谢谢,EddyPerfect的工作伙伴。我一直在寻找这样一个易于使用和轻量级的框架。做得好。
{ command; }