Tag: log4j

kafka连接从docker挂载在本地主机上的日志

我有kafka连接运行在正在生成日志到/ tmp目录中的文件的docker集装箱上。 在Docker的/tmp/kafka-connect.logs中生成的日志应该被挂载到本地的/tmp2/kafka-connect.logs目录。 当我挂载在/ tmp目录时 – docker run -p 8083:8083 -v /tmp/:/tmp/ -i jdbc但在/tmp2目录失败 – docker run -p 8083:8083 -v /tmp2/:/tmp/ -i jdbc 。 / tmp2目录的权限是777特权,并以root用户身份运行。 connect-log4j.properties # Root logger option log4j.rootLogger = INFO, FILE, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d\t%p\t%m\t(%c:%L)%n # Direct log messages to stdout log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=/tmp/kafka-connect.logs # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout […]

将Logstash日志位置从控制台更改为文件

我已经使用logstash安装了logstash 。 它运行良好。 在Docker安装中,默认情况下,日志输出转到控制台。 我希望日志输出也应该与控制台一起去文件。 为此,我将下面的configuration项添加到我的logstash log4j.properties文件中 appender.file.type = File appender.file.name = LOGFILE appender.file.fileName = /usr/share/logstash/logs/logstash.log appender.file.layout.type = PatternLayout appender.file.layout.pattern = [%d{ISO8601}][%-5p][%-25c] %m%n 之后,我使用下面的命令重新启动docker容器托pipelogstash docker restart logstash 但是日志不会写入日志文件。 它仍然要安慰。 还有什么我错过了。 另外,如何识别控制台日志文件 任何帮助将不胜感激。

rsyslog无法将docker container id识别为来自log4j 1x的主机名称

我的log4j 1x版本正在从docker容器发送日志到syslog服务器。 在我的rsyslog.conf中,我将这些日志存储在/ var / log / rsyslog / appname /%hostname%下。 理想情况下,如果我从log4j1x docker容器发送日志,rsyslog应该将容器标识标识为%hostname%,但将底层服务器标识为主机名。 当我的nginx docker容器发送日志到rsyslog时,情况并非如此。 它正确地标识容器id作为主机名。 有人可以帮忙吗?

卡夫卡连接logindocker集装箱

我有一个需要作为docker容器运行的kafka连接jar。 我需要捕获容器中的日志文件上的所有连接日志(最好在/ etc / kafka / kafka-connect-logs目录中),稍后可以将其推送到本地主机(在其上运行docker引擎)docker中的卷。 当我更改我的connect-log4j.properties附加到日志文件时,我看到没有创build日志文件。 如果我没有使用docker的情况下尝试,通过更改connect-log4j.properties将日志写入日志文件来运行本地linux虚拟机上的kafka连接,它可以很好地工作,但不能从docker中运行。 任何build议将是非常有益的。 Docker File FROM confluent/platform COPY Test.jar /usr/local/bin/ COPY kafka-connect-docker.sh /usr/local/bin/ COPY connect-distributed.properties /usr/local/bin/ COPY connect-log4j.properties /etc/kafka/connect-log4j.properties RUN ["apt-get", "update"] RUN ["apt-get", "install", "-yq", "curl"] RUN ["chown", "-R", "confluent:confluent", "/usr/local/bin/kafka-connect-docker.sh", "/usr/local/bin/connect-distributed.properties", "/usr/local/bin/Test.jar"] RUN ["chmod", "+x", "/usr/local/bin/kafka-connect-docker.sh", "/usr/local/bin/connect-distributed.properties", "/usr/local/bin/Test.jar"] RUN ["chown", "-R", "confluent:confluent", "/etc/kafka/connect-log4j.properties"] RUN ["chmod", "777", […]

在docker RTS沙箱中使用log4jloginApache Apex

我想了解在Docker中使用官方RTS Test Sandbox in docker时,如何使用Apache Apex中的log4j查看我的应用程序日志。 更具体地说,我想知道Apex在容器内存储特定于应用程序的日志文件的位置。 我正在运行最新的官方docker图像: https : //hub.docker.com/r/datatorrent/rts/ 使用在http:// localhost:9090 /上运行的dtManage ,我成功上传了我的应用程序并启动了它。 在Monitor选项卡中,我可以看到我的操作员正在接收和发送元组。 当我点击名为AM logs的蓝色buttonAM logs ,会显示3个日志文件的下拉菜单,分别是: AppMaster.sdterr AppMaster.stdout apex.log 当我打开并search所有3个文件的日志时,我可以看到来自apex的许多日志,但是没有打印我的自定义应用程序日志。 我的日志logging代码如下所示: private static final Logger LOG = LoggerFactory.getLogger(Application.class); LOG.info("helloworld"); 在本地模式下运行应用程序时,我的所有日​​志在控制台中都是可见的。 在properties.xml中,我也启用了全面的debugging: <property> <name>dt.attr.DEBUG</name> <value>true</value> </property> 有人可以帮我吗?

如何查看Docker容器内运行的log4j日志?

作为Docker的新手:我使用Docker主机来运行11个容器,其中一个容器正在运行java应用程序,其中我使用了log4j日志来logging日志。 如何在运行Docker 撰写时只访问日志。 我试图将日志捕获到一个log4j.log文件,但是这只在Java应用程序终止之后创build。

从Docker容器inputLogstash系统日志

我有一个在泊坞窗主机上的docker容器中运行的Java应用程序。 应用程序使用log4j进行日志logging并logging到系统日志。 我希望能够将我的系统日志日志发送到logstash。 我将rsyslogconfiguration文件中的configuration更改为: *.* @@<logstash host ip>:514 我在我的logstashconfiguration文件为syslog: input { syslog { type => syslog port => 514 } } 并在logstash日志中有错误,说syslog tcp监听器死亡和 exception=>#<Errno::EACCES: Permission denied – bind(2) 我想我应该指定主机在logstashconfiguration的位置,并将我的dockerhost +端口的IP地址添加到configuration文件,但我仍然得到相同的错误。 我如何告诉logstash查看dockerhost上的docker容器的日志? 我在这里错过了一个组件吗? 谢谢。