EDITLogBack Syslog 不工作 java

2024-05-11

我写了一个简单的项目来在 Ubuntu 中运行日志,方法如下example https://examples.javacodegeeks.com/enterprise-java/logback/logback-syslog-example/.

应用启动器

package com.javacodegeeks.examples.logbacksyslogexample;

import com.javacodegeeks.examples.logbacksyslogexample.message.IMessageTransmitter;
import com.javacodegeeks.examples.logbacksyslogexample.message.kiwi.KiwiMessageTransmitterImpl;
import com.javacodegeeks.examples.logbacksyslogexample.message.rsyslog.RsyslogMessageTransmitterImpl;

public class ApplicationStarter {

    /**
     * Main method
     */
    public static void main( final String[] args ) {

        final IMessageTransmitter kiwiMessageTransmitter = new KiwiMessageTransmitterImpl();
        kiwiMessageTransmitter.send( "I am learning to send message to Syslog server" );

        final IMessageTransmitter rsyslogMessageTransmitter = new RsyslogMessageTransmitterImpl();
        rsyslogMessageTransmitter.send( "Logback can easily send message to Syslog server" );
    }
}

KiwiMessageTransmitterImpl

package com.javacodegeeks.examples.logbacksyslogexample.message.kiwi;

import com.javacodegeeks.examples.logbacksyslogexample.message.IMessageTransmitter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class KiwiMessageTransmitterImpl implements IMessageTransmitter {

    private static final Logger LOGGER  = LoggerFactory.getLogger( KiwiMessageTransmitterImpl.class );

    @Override
    public void send( final String message ) {
        LOGGER.info( "Hello! My message is : {}", message );
    }
}

RsyslogMessageTransmitterImpl

package com.javacodegeeks.examples.logbacksyslogexample.message.rsyslog;

import com.javacodegeeks.examples.logbacksyslogexample.message.IMessageTransmitter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class RsyslogMessageTransmitterImpl implements IMessageTransmitter {

    private static final Logger LOGGER  = LoggerFactory.getLogger( RsyslogMessageTransmitterImpl.class );

    @Override
    public void send( final String message ) {
        LOGGER.info( "Hello! My message is : {}", message );
    }
}

消息发送器

package com.javacodegeeks.examples.logbacksyslogexample.message;

public interface IMessageTransmitter {

    void send(final String message);
}

当我运行我的项目时,我得到了同样的东西!这 来自 Java 的消息未发送至syslog !

这里的日志记录文件。我放在资源文件夹中。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="KIWI" class="ch.qos.logback.classic.net.SyslogAppender">
        <syslogHost>localhost</syslogHost>
        <facility>LOCAL0</facility>
        <suffixPattern>%thread: %-5level %logger{36} - %msg%n</suffixPattern>
    </appender>

    <appender name="RSYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
        <!-- Ubuntu Server host name -->
        <syslogHost>centol</syslogHost>
        <facility>LOCAL1</facility>
        <suffixPattern>%thread: %-5level %logger{36} - %msg%n</suffixPattern>
    </appender>

    <logger name="com.javacodegeeks.examples.logbacksyslogexample.message.kiwi" level="INFO">
        <appender-ref ref="KIWI" />
    </logger>

    <logger name="com.javacodegeeks.examples.logbacksyslogexample.message.rsyslog" level="INFO">
        <appender-ref ref="RSYSLOG" />
    </logger>

</configuration>

我用这个命令来检查syslog. The syslog输出现在看起来正确了。不幸的是,从 Netbeans(JAVA) 发送的消息仍然没有在syslog.

Try cat /var/log/syslog(输出的一小部分)

Jun  6 23:37:26 xxx whoopsie[1040]: [23:37:26] online
Jun  6 23:37:26 xxx avahi-daemon[1023]: Registering new address record for 2001:e68:4424:afab:c31f:c843:2351:c58 on wlp6s0.*.
Jun  6 23:37:28 xxx dhclient[19397]: XMT: Solicit on wlp6s0, interval 4340ms.
Jun  6 23:37:32 xxx dhclient[19397]: XMT: Solicit on wlp6s0, interval 9080ms.
Jun  6 23:37:41 xxx dhclient[19397]: XMT: Solicit on wlp6s0, interval 17540ms.
Jun  6 23:37:59 xxx dhclient[19397]: XMT: Solicit on wlp6s0, interval 34190ms.
Jun  6 23:38:09 xxx NetworkManager[1013]: <warn>  [1496763489.9447] dhcp6 (wlp6s0): request timed out
Jun  6 23:38:09 xxx NetworkManager[1013]: <info>  [1496763489.9448] dhcp6 (wlp6s0): state changed unknown -> timeout
Jun  6 23:38:09 xxx NetworkManager[1013]: <info>  [1496763489.9456] dhcp6 (wlp6s0): canceled DHCP transaction, DHCP client pid 19397
Jun  6 23:38:09 xxx NetworkManager[1013]: <info>  [1496763489.9456] dhcp6 (wlp6s0): state changed timeout -> done
user@xxx:/$ 

不确定是因为 syslogHost 和设施的原因。


FINALLY我让它工作!什么样的恶梦...

我跟随配置Syslog server.

Go to rsyslog.conf

sudo vim etc/rsyslog.conf

取消注释这两行。

module(load="imtcp")
input(type="imtcp" port="514")

保存并退出。然后重新启动服务。

sudo service rsyslog restart

MAGIC !

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

EDITLogBack Syslog 不工作 java 的相关文章

  • Java EE 6 和单例

    谁能解释一下在 Java EE 6 应用程序中实现 Singleton 的完整过程 我假设我不应该以声明静态变量的典型方式创建单例 而应该使用 Singleton注解 我必须这样做吗 难道只是声明一下的情况 Singleton就是这样 我还
  • 检查从 arrayadapter 获取的复选框

    我有标题清单 CheckBox 我想控制默认检查哪一个 所以我试图获得正确的视图并检查它 但由于某种原因它不起作用 知道为什么吗 form checkbox item xml
  • Hibernate 每个子类一个表继承策略的效率

    我正在考虑 Hibernate 管理的类层次结构的表布局 当然 每个子类表技术在我看来是一般意义上最合适的 然而 通过逻辑思考 我对其性能有些担忧 尤其是随着子类数量的扩展 举一个非常简短 且经典 的示例 假设您有以下类 public ab
  • 查找所有数组的长度多维数组,Java

    我想使用多维数组来存储数据网格 但是 我还没有找到一种简单的方法来查找长度2nd数组的一部分 例如 boolean array new boolean 3 5 System out println array length 只会输出3 是否
  • org.openqa.selenium.NoSuchSessionException:会话 ID 为空。调用 quit() 后使用 WebDriver?

    我已经进行了一些搜索 但仍然遇到同样的问题 我相信这可能是由于我的网络驱动程序是静态的造成的 我不太确定 在我的主课中 我包括了 BeforeTest and AfterTest BeforeTest包括根据我的 XML 文件启动新浏览器
  • Android:TelephonyManager 类

    我不明白为什么 API 文档中这么写TelephonyManager类是public 但是当我尝试创建一个实例时 它说它不是公共类 并且无法从包中访问 我看到它也说使用Context getSystemService Context TEL
  • WSDL2Java 抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java

    我正在尝试从远程 Web 服务创建 java 文件 我下载了axis 1 4 将lib文件夹复制到c data axis lib其中包含这些文件 axis jar 轴 ant jar commons discovery 0 2 jar co
  • Java - 调整图像大小而不损失质量

    我有 10 000 张照片需要调整大小 因此我有一个 Java 程序来执行此操作 不幸的是 图像的质量损失很大 而且我无法访问未压缩的图像 import java awt Graphics import java awt AlphaComp
  • 为什么当达到 InitiatingHeapOccupancyPercent 时 G1 不开始标记周期?

    根据文档 http www oracle com technetwork articles java g1gc 1984535 html XX InitiatingHeapOccupancyPercent 设置触发标记周期的Java堆占用阈
  • Eclipse RCP - 将视图与编辑器区域堆叠?

    在开发 Eclipse RCP 应用程序时 是否可以将视图与编辑器区域堆叠在一起 像这样 我有多个列表 表格 我想创建一种预览组合 当通过单击鼠标选择列表上的项目时 我希望我的预览合成显示该项目的数据 如果用户双击某个项目 我想在预览合成后
  • Java 声音可视化器

    我正在尝试制作一个java声音可视化工具 但我完全不知道如何在实时处理音频后立即从提取的音频中获取字节 我可以将程序与 wav 文件同步 但这不是我想要做的 我想用程序生成声音 然后播放它 而不将其保存在任何地方 谢谢您的帮助 本文可以帮助
  • 使用 Haskell 将函数注入到 Java .class 文件中

    我使用 Haskell 编写了一个 Java 字节码解析器 它工作得很好 然而下一步让我完全难住了 我的 Haskell 程序需要修改 class 文件 以便在执行时 Java 程序打印 输入 此处的方法名称 在执行方法之前 并且 退出 此
  • Log4j 2.0 中发现 ClassNotFoundException

    我已经设置了 log4j12 api beta2 jar 的构建路径 但它给出了 以下错误请帮我解决这个问题我的代码如下 java 文件 package com sst log4j class Product private int pro
  • IntelliJ - 无效源版本:17

    我已经在 IntelliJ 中使用 Gradle 创建了一个使用 Java 17 的新 Java 项目 运行我的应用程序时出现错误Cause error invalid source release 17 我的设置 我已经安装了openjd
  • gwt 文本框添加更改处理程序

    我有一个从设计师那里收到的文本框 但是我在 GWT 中编写了操作 问题是文本框为空 但是当通过按下按钮用值填充文本框时 将显示警报框 通知值已更改 但没有成功 帮助我 TextBox zip1 null function onModuleL
  • Web 服务客户端的 AXIS 与 JAX-WS

    我决定用Java 实现Web 服务客户端 我已经在 Eclipse 中生成了 Axis 客户端 并使用 wsimport 生成了 JAS WS 客户端 两种解决方案都有效 现在我必须选择一种来继续 在选择其中之一之前我应该 考虑什么 JAX
  • 按钮悬停和按下效果 CSS Javafx

    我是 CSS 新手 为按钮定义了以下 CSS 样式 其中id并且应用了自定义样式 但不应用悬停和按下效果 bevel grey fx background color linear gradient f2f2f2 d6d6d6 linear
  • 如何从 Sublime Text 编辑器调试 Java 应用程序

    有时我正在对相当大的 Java 应用程序进行简单的修复 但我不想打开 Eclipse 来执行此任务 Eclipse 启动时间很长 并且由于该项目是由大量子项目构建的 而这些子项目无论如何都是由 Maven 构建的 因此需要很长时间才能使用
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • 空检查时可能未初始化错误

    我正在检查变量是否已初始化 但此时 netbeans 给了我variable reader might not have been initialized警告 我该如何解决 抑制这个问题 这是我的代码 摘要 final Reader rea

随机推荐

  • 精灵套件的方向键

    我有兴趣尝试创建一些游戏 即新的精灵套件 然而 对于我想要的游戏 我宁愿使用方向键而不是操纵杆 由于我将从 Cocos 转移过来 我的旧程序不再起作用 所以那个 dpad 也不起作用 遗憾的是 我还没有遇到任何可能有助于在新的精灵套件中实现
  • 处理异步并行任务的多个异常

    Problem 多个任务并行运行 所有任务 没有任务或其中任何任务都可能抛出异常 当所有任务完成后 必须报告所有可能发生的异常 通过日志 电子邮件 控制台输出 等等 预期行为 我可以通过 linq 使用异步 lambda 构建所有任务 然后
  • 在 Android 中完成一项活动?

    我有一些活动 Home Activity gt Activity 1 gt Activity 2 gt Activity 3 gt HomeActivity finish finish finish Home Activity gt Act
  • 矩阵中两个字符串的最大 nchar

    我想找到更好的方法来找到我正在相互比较的两个字符串的更大的 nchar 假设我有字符串句子匹配data frame 和我需要创建一个 max nchar string1 nchar string2 矩阵 但没有 for 循环 这是非常慢的方
  • Egit 无法检测到本机 Git 的安装路径“gitPrefix”

    如何解决这个问题 警告 EGit 无法检测到本机 Git 的安装路径 gitPrefix 因此 Egit 无法尊重系统级别 Git 设置可以在本机 Git 安装目录下的 gitPrefix etc gitconfig 中配置 正如我在 eg
  • 参数太少错误,同时未使用参数占位符

    我尝试使用 PYODBC 在 Access 数据库中执行 SQL 查询 但出现以下错误 pyodbc Error 07002 07002 Microsoft ODBC Microsoft Access 驱动程序 参数太少 预期为 1 301
  • File.Exists("") 和 FileInfo 存在有什么区别

    我在 Program Files x86 MyApp 文件夹中有一个 exe 文件 在 x86 应用程序中 我检查文件是否存在 64 位系统 简单的 bool fileExists File Exists ProgramFiles x86
  • 在 C# 中多次使用单个参数的更好方法

    我刚开始使用准备好的语句从数据库查询数据 并且在实现 C 参数 特别是 OracleParameters 时遇到问题 假设我有以下 SQL string sql select from table1 t1 table2 t2 where t
  • 为什么使用 gridview:true 以及它的含义是什么?

    我正在 JqGrid 上工作 我想知道如果我们指定的话意味着什么gridview true 以及什么情况下我们需要提供 我最近正在开发一个这样的 jqGrid 和我的afterInsertRow没有被调用 一旦我删除了gridview tr
  • 如何访问 LINQ select 中的循环索引?

    这段代码 var customers from cust in Customers group cust by new cust Country into grouping select new Country grouping Key C
  • 如何在 C# 中通过指纹查找证书

    我正在使用此代码通过指纹查找证书 证书存在于个人证书存储中的证书管理器中 但此代码未找到该证书 请告诉我我哪里做错了 namespace ConsoleApplication1 class Program static void Main
  • Emacs:在缓冲区求值期间将参数传递给下级 Python shell

    最近我开始使用 Emacs 作为 Python IDE 它不太直观 我现在遇到的问题是当使用 C c C c 评估缓冲区时如何将命令行参数传递给下级 python shell 感谢帮助 这似乎并不容易实现 管理的劣质流程python el模
  • pybind11:如何将 c++ 和 python 代码打包到一个包中?

    我正在尝试使用 CMake 和 pybind 11 将现有的 Python 代码和新的 C 11 代码打包在一起 我认为我缺少一些可以添加到 CMake 脚本中的简单内容 但在任何地方都找不到它 pybind11 示例只有 C 代码和没有P
  • 如何开始在 Ubuntu 20.04 上使用 Mozilla TTS 训练自定义语音模型?

    我想使用我录制的音频样本在 Mozilla TTS 中创建自定义语音 但不知道如何开始 Mozilla TTS 项目有文档和教程 但我在将各个部分组合在一起时遇到了困难 似乎缺少一些基本信息 而初学者需要知道这些信息才能继续 我有一些问题
  • 重置首选项的默认值

    我正在使用 CheckBoxPreference 作为设置屏幕 XML 是
  • Android:Google Maps API 密钥注册:MD5 认证密钥

    如何获取MD5指纹密钥 我正在使用这个命令 C Program Files Java jdk1 7 0 04 bin gt keytool exe list alias androiddebugkey keystore C Document
  • ';'预期但发现“导入” - Scala 和 Spark

    我正在尝试使用 Spark 和 Scala 来编译一个独立的应用程序 我不知道为什么会收到此错误 topicModel scala 2 expected but import found error import org apache sp
  • 在 box2d 主体顶部绘制字体

    如何在静态 box2d 主体顶部绘制文本 字体 背景 我能够正确地在身体顶部绘制精灵 我通过拥有一个来做到这一点box2dSpriteBatch像这样投影在 box2dCamera 上box2dSpriteBatch setProjecti
  • 如何让热键触发 Windows 窗体按钮?

    我在表单上有一个按钮 我希望为其分配热键 namespace WebBrowser public partial class MainForm Form public MainForm InitializeComponent int Get
  • EDITLogBack Syslog 不工作 java

    我写了一个简单的项目来在 Ubuntu 中运行日志 方法如下example https examples javacodegeeks com enterprise java logback logback syslog example 应用