小编Gui*_*tue的帖子

SocketAppender 和 PatternLayout

我有一个将日志发送到日志服务器存储的记录器。这工作正常,但不使用模式布局。有或没有这不会改变任何事情。我相信记得在某处阅读socketappender使用的是自己的模式而不是其他人的模式。

<appender name="LOGSTASH" class="org.apache.log4j.net.SocketAppender"> 
        <param name="Port" value="5000"/>
        <param name="RemoteHost" value="192.168.81.131"/> 
        <param name="ReconnectionDelay" value="5000"/>
        <param name="LocationInfo" value="true" />
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
      </layout>
</appender> 
Run Code Online (Sandbox Code Playgroud)

但是在这个文档(和其他一些)中使用这个。此文档中的示例:

<appender name="A1" class="org.apache.log4j.net.SocketAppender">
    <param name="RemoteHost" value="localhost"/>
    <param name="Port" value="5000"/>
    <param name="LocationInfo" value="true"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%t %-5p %c{2} - %m%n"/>
    </layout>
    </appender>
Run Code Online (Sandbox Code Playgroud)

那么是不可能在socketappender 中使用个人模式还是我的错?

如果不可能,是否有其他附加程序用于使用自定义模式进行 tcp 日志记录?

logging log4j appender

5
推荐指数
1
解决办法
4247
查看次数

Logstash:使用curl发送日志

我有一个ELK服务器来管理我的日志.通常他们会自动发送.一切正常.但出于某种原因,有时我们需要发送一个日志文件.

我想这样做:

curl -F "file=@<my_file_path>" http://<ELK_server_host>:5001
Run Code Online (Sandbox Code Playgroud)

这个conf(在这里有用的部分)在服务器端:

input {
    ...
    tcp {
        port => 5001
        type => "curl"
        codec => line { charset => "UFT-8" }
    }
    .....
}

filter {
    .....
    if "curl" == [type] {
        multiline {
            pattern => "^%{TIMESTAMP_ISO8601}"
            negate => true
            what => previous
        }
        grok {.....}
        date {.....}
    }
    .....
}

output {
    stdout { codec => rubydebug }
    elasticsearch {
        host => localhost
    }
}
Run Code Online (Sandbox Code Playgroud)

这项工作真的很好但是有两个小困难:

  • 忽略文件的最后一行(非空)
  • 卷曲命令永远不会停止.我必须用Ctrl + C杀死. …

curl logstash

3
推荐指数
2
解决办法
7513
查看次数

杰克逊在地图中捕获未被识别的领域

我在java Rest Api中使用Jackson来处理请求参数.

我的班级:

public class ZoneModifBeanParam extends ModifBeanParam<Zone> {
@FormParam("type")
private String type;

@FormParam("geometry")
private Geometry geometry;

@FormParam("name")
private String name;

...
Run Code Online (Sandbox Code Playgroud)

我的API界面:

@POST
@Consumes("application/json")
@Produces("application/json; subtype=geojson")
@ApiOperation(value = "Create a zone", notes = "To create a zone")
public Response createZone(ZoneModifBeanParam zoneParam) {

...
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我需要接收我的Bean在地图中未指定的其他参数.示例:

{
   "geometry": {...},
   "name": "A circle name",
   "type": "4",
   "hello": true
}
Run Code Online (Sandbox Code Playgroud)

通过接收这个我需要存储在一个Map(名为unrecognizedFields并在我的bean中声明)这对夫妇("你好",真实).

是否有任何注释或对象允许这个?

java jersey jackson

3
推荐指数
1
解决办法
1149
查看次数

PostgreSQL日志到远程logstash服务器

我正在设置日志的收集器。我的应用程序使用SyslogAppender(log4j)将日志发送到远程日志服务器。我还可以使用curl命令行保存所有应用程序日志和postgresql数据库日志。我的日志服务器是ELK服务器(都在同一群集中)。

但是现在我想自动发送postgresql日志,就像处理Appender和应用程序日志一样。是否可以使用postgresql.conf文件执行此操作?还是我必须使用logstash转发器?(如果可能,我希望避免使用转发器)

postgresql logging syslog

2
推荐指数
1
解决办法
2258
查看次数

标签 统计

logging ×2

appender ×1

curl ×1

jackson ×1

java ×1

jersey ×1

log4j ×1

logstash ×1

postgresql ×1

syslog ×1