有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    我将系统记录器与以下运行时一起使用:

    public static void log(String TextToLog){
        Runtime r = Runtime.getRuntime();
        try{
            r.exec("logger \"Applicationname " + TextToLog + "\"");
        }
        catch(IOException e){e.printStackTrace();}
    }
    
  2. # 2 楼答案

    假设“没有库”意味着没有第三方库

    一种方法是编写自己的Syslog协议实现代码;见RFC 5424。您可以用纯Java实现这一点

    更正-实际上,不是纯Java。syslog协议(通常)使用UNIX域套接字,并且没有内置的Java库功能。您需要求助于本机代码或第三方库;见UNIX Domain Socket in Java

    第二种方法是为syslog(3)C库方法编写JNI包装器。在后台,这个库在本地端口上打开一个数据报套接字,并(大概)实现Syslog协议。所以你这样做不会有多大成就

    (请注意,C库是(至少)任何GNU/Linux系统的一部分,因此这不算使用第三方库。至少,我的书中没有……)