我有两个log4j2生成的日志文件。我正在使用FileAppender生成这些日志文件,现在我想将这些日志文件作为log4j2目标发送到AWS cloudwatch和S3存储桶。
我是log4j2和这个云API的新手。我搜索了很多但却找不到有用的东西。虽然我找到了这两个链接:
http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-configuration-cwl.html和http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-logging.html
但我不确定它是如何工作的以及这是否是将日志文件发送到AWS cloudwatch和S3存储桶的唯一方法。我需要在log4j2.xml文件中执行哪些其他设置。
那么,如何将log4j2生成的日志文件发送到云API?我必须使用log4j2和J2EE。
这是我的log4j2.xml文件:
<Configuration monitorInterval="30" status="warn" name= "MyApp" packages="" xmlns="http://logging.apache.org/log4j/2.0/config">
<Properties>
<Property name="filename-server1-all">${sys:catalina.home}/logs/server1-all.log</Property>
<Property name="filename-server1-err">${sys:catalina.home}/logs/app.log</Property>
<Property name="pattern_layout">%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n</Property>
</Properties>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%-5p | %d{yyyy-MM-dd HH:mm:ss} | [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
<File name="appender-server-1-all" fileName="${filename-server1-all}">
<PatternLayout pattern="${pattern_layout}" />
</File>
<File name="appender-server1-err" fileName="${filename-server1-err}">
<PatternLayout pattern="${pattern_layout}" />
</File>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="STDOUT"/>
<AppenderRef ref="appender-server-1-all" level="all"/>
<AppenderRef ref="appender-server1-err" level="error"/>
</Root>
</Loggers>
</Configuration>