如何避免在控制台上打印系统日志的广播消息

2023-12-22

我编写了一段小代码,用于在连接到 postgres 数据库失败时使用 C Api 向系统日志发送消息。

int main ( int argc, char **argv )
{
        PGconn *psql;
        PGresult *res;
        int flag = 0;

        openlog ( "postgres", LOG_NDELAY, LOG_SYSLOG );

        psql = PQconnectdb("hostaddr = '127.0.0.0' port = '5432' dbname = 'RtpDb' user = 'rtp_user_99' password = 'rtp_user' connect_timeout = '10'");
        if ( PQstatus(psql) != CONNECTION_OK )
        {
           //Send an event to syslog for DB Connection Failure
           syslog (LOG_EMERG, "%s", PQerrorMessage(psql) )
        }
       closelog ();
       PQclear(res);
       PQfinish(psql);
}

当 postgres 数据库连接失败时,即使 openlog 中未启用 LOG_CONS 选项,消息也会打印到控制台。

Broadcast message from systemd-journald@blr09 (Tue 2017-01-03 05:24:46 EST):
postgres[40933]: could not connect to server: Network is unreachable
        Is the server running on host "127.0.0.0" and accepting
        TCP/IP connections on port 5432?
Message from syslogd@blr09 at Jan  3 05:24:46 ...
 postgres:could not connect to server: Network is unreachable#012#011Is the server running on host "127.0.0.0" and accepting#012#011TCP/IP connections on port 5432?

您能帮助我如何避免在控制台上打印消息吗?


在@alk提供的提示之后,我做了一些更多的研究,并找到了如何避免在控制台上打印消息。

Broadcast message from systemd-journald@blr09 (Tue 2017-01-03 05:24:46 EST):
postgres[40933]: could not connect to server: Network is unreachable
        Is the server running on host "127.0.0.0" and accepting
        TCP/IP connections on port 5432?
Message from syslogd@blr09 at Jan  3 05:24:46 ...
 postgres:could not connect to server: Network is unreachable#012#011Is the server running on host "127.0.0.0" and accepting#012#011TCP/IP connections on port 5432?

上述消息有两部分:

  1. 来自systemd-journald的广播消息 => 当发送紧急消息时,这些消息将通过journalctl打印在控制台上。要禁用这些消息,我们需要禁用 ForwardToWall,即ForwardToWall=否 in /etc/systemd/journald.conf

  2. 来自 syslogd 的消息 => 由于 /etc/rsyslog.conf 中的以下配置行,这些消息由 rsyslog 打印

    *.emerg                                                 :omusrmsg:*
    

这个选择器动作状态“紧急消息通常会发送给当前在线的所有用户,通知他们系统发生了异常情况。要指定此 wall(1) 功能,请使用“:omusrmsg:*”。”注释掉这一行。

执行上述操作后,控制台上未打印消息。由于由于安全威胁而不允许这些操作,因此我正在向Alert优先事项。

syslog ( LOG_ALERT, "%s", PQerrorMessage(psql) );

感谢@alk。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何避免在控制台上打印系统日志的广播消息 的相关文章

  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置

随机推荐

  • 闭包作为 Rust 结构中的类型

    我正在尝试在 Rust 中创建这样的结构 pub struct Struct
  • java.io.IOException:主机名未验证[重复]

    这个问题在这里已经有答案了 我正在尝试从 Andorid 版本 4 1 1 中的 Android 应用程序连接到 URL 并且收到问题标题中指示的错误 但是当我尝试从 Andorid 版本 4 0 4 或 3 1 连接相同的 URL 时 一
  • 使左右div高度相等,防止右div低于左div

    我有一个 HTML 页面 其内容分为左右部分 使用CSS 左侧内容的高度小于右侧内容的高度 因此 右侧内容 div 也位于左侧内容 div 下方 最终 右侧内容的边界不是一条直线 如何避免右侧内容向左侧蔓延 我们怎样才能使左侧内容的高度增加
  • Android Gradle 注释处理器在父模块中不可用

    我有以下设置 项目构建 gradle dependencies compile project ProjectB 项目B build gradle dependencies annotationProcessor com ryanharte
  • Android 将日期和时间转换为毫秒

    我有一种日期和时间格式 如下所示 Tue Apr 23 16 08 28 GMT 05 30 2013 我想转换成毫秒 但实际上我不知道它是什么格式 有人可以帮助我吗 更新为日期时间格式化程序 https developer android
  • 如何在 UWP 应用中编码/解码 url 字符串

    我正在构建一个与 Web Api 通信的 UWP 应用程序 在某些时候 我将 url 中的字符串发送到可由用户操作的 Web Api 因此 该字符串可能包含可能对 Web Api 造成不良影响的字符 例如 这是我的用户控制器 Route a
  • 如何使用 PHP 循环隐藏字段项并放入会话中

    我有隐藏字段 其中包含这种格式的值 ENO 123 EQNO 231 地点 芝加哥 ENO 567 EQNO 898 地点 佛罗里达 在上面的行中 我有两对用 分隔的记录 对于每条记录 我都有由 分隔的三列 现在我如何循环遍历并将每一列放入
  • 为什么出口/进口申报必须在 es2015 中处于顶层?

    我在上一个项目中开始使用 es2015 和 babel 当我尝试做的时候import or export inside if条件 我有一个错误 import and export may only appear at the top lev
  • 使用内联和 Rcpp 调用 R 函数仍然与原始 R 代码一样慢

    我需要评估一个需要长循环的函数 后验分布 显然我不想在 R 本身中执行此操作 因此我使用 inline 和 Rcpp 来实现 C 但是 我发现在每个循环都使用 R 函数的情况下 cxx 函数的运行速度与运行 R 代码一样慢 请参阅下面的代码
  • IBPY 中的 reqHistoricalData 不返回任何内容 [python]

    我正在尝试通过 Ibpy 从盈透证券 IB 获取历史数据 我已经尝试了几个脚本来完成此任务 这些脚本是从其他人那里改编而来的 他们表明它应该可以工作 然而 它们都不适合我 我是Python新手 所以我承认我对这些方法的工作原理没有完全的了解
  • 为什么我的 Java 数学错误?

    在下面的代码中 我看不出 T1 和 T3 有什么不同 当然我的计算器说不是 public class longTest public static final long T1 24 60 60 1000 30 public static f
  • Python OpenCV:绘制矩形的鼠标回调

    我想从视频流中保存图像 然后在显示的图像上绘制一个矩形以生成感兴趣的区域 稍后 将该 ROI 保存在文件中 我使用 opencv pythongrabcut 示例来使用 setMouseCallback 函数 但我不知道我做错了什么 因为它
  • 使用电子邮件登录后无法通过 firebase 获取更新的个人资料信息

    我目前正在使用 React Native 开发一个应用程序 我可以设法拥有登录和注册页面 但我的问题如下 使用 firebase 方法使用电子邮件和密码创建用户后 我想更新个人资料信息 displayName 以便将其显示在主页中 但似乎注
  • 使用 Modular SDK v9 的 Firestore 条件 where 子句

    如何执行带条件的查询where 使用 Firebase Modular SDK v9 的条款 名称空间版本 v8 中的示例查询 const status live const publishedAfter 1630607348811 let
  • 缩小和放大后 MapOverlay 闪烁 - iOS

    我有两个问题 首先 一旦我为坐标分配内存 请参阅下面的代码 我是否必须释放内存 坐标 其次 正如您在下面的代码中看到的 我得到了叠加层并添加到地图上 但是 有不同的时间戳提要坐标 应该更新地图 就像雷达地图用不同的时间戳改变叠加形状一样 它
  • 在对话框中的 QTextEdit 中按 Tab - 更改行为

    I have QDialog包含几个按钮和一个QTextEdit 在写了一些东西之后QTextEdit 我按 Tab 键以到达其中一个按钮 但是当我按 Tab 键时 会在QTextEdit 我怎样才能改变这种行为 您可以使用设置TabCha
  • 如何开始针对 Amazon Fire TV 进行开发?

    我被要求开发一个 Amazon Fire TV 应用程序 但我发现很难理解步入正轨所需的步骤 根据亚马逊指定文档 https developer amazon com public solutions devices fire tv doc
  • 我应该如何存储在 Google Cloud Platform 中使用的机密?

    如果我需要将凭据存储在 Google Compute Engine 或 Google App Engine 中以便在构建时使用 我应该如何存储它们 还有什么比将它们存储在代码中或存储桶中更好的方法吗 一种选择是使用 Cloud KMS 中的
  • 使用 Twitter Bootstrap 触发导航选项卡的按钮

    该按钮触发下一个选项卡加载内容 但选项卡本身不会切换 它保留在第一个选项卡上 br a class btn btn primary href tab2 Review a br 这是导航导航选项卡的代码 ul class nav nav ta
  • 如何避免在控制台上打印系统日志的广播消息

    我编写了一段小代码 用于在连接到 postgres 数据库失败时使用 C Api 向系统日志发送消息 int main int argc char argv PGconn psql PGresult res int flag 0 openl