我使用的是 Linux,有一些与某些应用程序相关的错误日志过度淹没了我的终端之一。
它们看起来像这样:
20/01 15:54:29.894138[3319][65536] Unexpected exception during module loading
20/01 15:54:29.894459[3319][65536] %TFC-F-INIT_PB, Unexpected exception during module loading
Tue, 20 Jan 2015 15:55:00.0000000 [192linvm35:3355] (IT_CORE:7) F - Error in domain file file:///var/opt/temip/orbix/6X/orbix_temip.cfg - Failed to open file: /var/opt/temip/orbix/6X/orbix_temip.cfg : No such file or directory. Ensure that you have sourced your <domain_name>_env script, generated by the configuration tool ("itconfigure" command).
Alternatively, do either of the following:
a) Pass the '-ORBdomain_name <domain_name>' and one of '-ORBconfig_dir <config_dir>' or -ORBconfig_domains_dir <config_domains_dir>' as parameters to the process.
b) Set the IT_DOMAIN_NAME environment variable to your <domain_name>, and set either IT_CONFIG_DIR to your <config_dir> or IT_CONFIG_DOMAINS_DIR to your <config_domains_dir>.
In addition, you should also check your configuration file's read permissions.
答案1
这些错误通常会从两个地方之一传递到您的终端。任何一个
a) 现有 shell 中正在运行的进程正在将这些错误发送到您的屏幕
或者
b) Syslog 正在将错误传递到您自己的帐户或 root 帐户(如果您以 root 身份登录)。或者它指向特定的终端。
前者只能通过重新启动进程并重定向STDERR
到/dev/null
(假设错误被发送到 STDERR)来修复:
myprocess 2> /dev/null
如果您每次登录时都看到此信息,或者特别是如果您以 root 用户身份登录(相当多的 Linux 版本将 syslog 配置为向 root 用户发送错误),则很可能是后者。根据您的操作系统,syslog(或 rsyslog、syslog-ng 或许多其他 syslog)的配置将具有以下内容:
*.warn root
在他们的配置中。注释掉该行,或者设置 syslog 将输出重定向到 root 的严重级别到更高级别 ( *.err
, *.crit
, *.alert
, *.emerg
)。请注意,将严重性设置为更高级别意味着将不再发送发送给您的用户/root 的任何其他错误。
Syslog 也可以记录到特定终端:
*.warn /dev/ttyS0
可以对该行应用与上面讨论的行相同的更改。