为什么 FireWarning 和 FireError 有效而 FireInformation 无效?

Why are FireWarning and FireError working but FireInformation is not?

我有一个 .bat 脚本,它通过 dtexec 调用 SSIS 包并将输出重定向到日志文件:

CALL dtexec.exe /f Package.dtsx >> logfile.txt

我们没有在包中配置单独的日志记录,因为发送到标准输出的任何内容都是以这种方式捕获的。这通常就足够了,但我现在正在尝试使用 Dts.Events.FireInformation 编写一些自定义日志消息。但是,这些消息根本没有显示在输出中。

如果我使用 FireWarningFireError 那么两者都会按预期出现在日志中,所以我猜这是日志记录级别的一些配置,但我找不到一个选项来改变它。

这不是调试信息,也不是警告或错误 - 它们是关于当前处理的有用消息。为什么这不起作用,我该如何解决?

或者是否有更好的方式写入标准输出?

我怀疑如果您将调用更改为类似的方式,是否可以解决问题?

CALL dtexec.exe /f Package.dtsx /rep EWI >> logfile.txt

这会记录错误、警告和信息事件,这些事件在没有明确请求的情况下不会显示信息。有关详细信息,请参阅 dtexec