Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

yujianbo
This post was updated on .
版本:1.12
框架:用默认的log4j2框架
问题:日志打到kafka,如何去区分jobmanager和taskmanger日志?我发现去改layout.pattern,还是没有能找到区分的好办法?


appender.kafka.layout.type=PatternLayout
appender.kafka.layout.pattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x -
%m%n -- %t -- %F

-------------------------------------------------------
已解决:如果大家想参考我的配置可以看我的博客:https://blog.csdn.net/weixin_44500374/article/details/117931457
如果对你有帮助,帮忙点个赞~~

--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

nobleyd
log4j还可以打印到kafka吗。

yujianbo <[hidden email]> 于2021年6月10日周四 上午11:47写道:

>
> 版本:1.12
> 框架:用默认的log4j2框架
> 问题:日志打到kafka,如何去区分jobmanager和taskmanger日志?我发现去改layout.pattern,还是没有能找到区分的好办法?
>
>
> appender.kafka.layout.type=PatternLayout
> appender.kafka.layout.pattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x -
> %m%n -- %t -- %F
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

yujianbo
log4j可以,log4j2也可以,现在头疼已经实现打kafka,不知道怎么区分这两边的日志



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

nobleyd
我觉得还有个头疼的吧,你很多机器,怎么区分每个机器还得。哪个机器的JM/TM的日志。

yujianbo <[hidden email]> 于2021年6月10日周四 下午1:48写道:
>
> log4j可以,log4j2也可以,现在头疼已经实现打kafka,不知道怎么区分这两边的日志
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

zilong xiao
hi,yidan

   可以在layout中读取系统环境变量作区分

祝好~

yidan zhao <[hidden email]> 于2021年6月10日周四 下午2:27写道:

> 我觉得还有个头疼的吧,你很多机器,怎么区分每个机器还得。哪个机器的JM/TM的日志。
>
> yujianbo <[hidden email]> 于2021年6月10日周四 下午1:48写道:
> >
> > log4j可以,log4j2也可以,现在头疼已经实现打kafka,不知道怎么区分这两边的日志
> >
> >
> >
> > --
> > Sent from: http://apache-flink.147419.n8.nabble.com/
>
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

yujianbo
大佬,能告知一下吗?我目前知道lay out有这么多的参数可以配置,哪个参数能区分jm或者tm的日志呢:

具体的格式化说明:
          %p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL。
          %d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/dd
HH:mm:ss,SSS}。
          %r:输出自应用程序启动到输出该log信息耗费的毫秒数。
          %t:输出产生该日志事件的线程名。
         
%l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)。
          %c:输出日志信息所属的日志对象,也就是getLogger()中的内容。
                          %C:输出日志信息所属的类目;
                          %logger:log4j中没有此格式;
          %M:输出产生日志信息的方法名。
          %F:输出日志消息产生时所在的文件名称。
          %L::输出代码中的行号。
          %m::输出代码中指定的具体日志信息。
          %n:输出一个回车换行符,Windows平台为"rn",Unix平台为"n"。
          %x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
          %%:输出一个"%"字符。



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

nobleyd
@yujianbo hi。可以把你log4j的配置发出来嘛,我也参考参考。

yujianbo <[hidden email]> 于2021年6月10日周四 下午3:31写道:

>
> 大佬,能告知一下吗?我目前知道lay out有这么多的参数可以配置,哪个参数能区分jm或者tm的日志呢:
>
> 具体的格式化说明:
>           %p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL。
>           %d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/dd
> HH:mm:ss,SSS}。
>           %r:输出自应用程序启动到输出该log信息耗费的毫秒数。
>           %t:输出产生该日志事件的线程名。
>
> %l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)。
>           %c:输出日志信息所属的日志对象,也就是getLogger()中的内容。
>                           %C:输出日志信息所属的类目;
>                           %logger:log4j中没有此格式;
>           %M:输出产生日志信息的方法名。
>           %F:输出日志消息产生时所在的文件名称。
>           %L::输出代码中的行号。
>           %m::输出代码中指定的具体日志信息。
>           %n:输出一个回车换行符,Windows平台为"rn",Unix平台为"n"。
>           %x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
>           %%:输出一个"%"字符。
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

nobleyd
 我也尝试了一波,不过比较奇怪的是,我程序测试log4可以写kafka OK。但是flink就是写不进去。

yidan zhao <[hidden email]> 于2021年6月10日周四 下午4:18写道:

>
> @yujianbo hi。可以把你log4j的配置发出来嘛,我也参考参考。
>
> yujianbo <[hidden email]> 于2021年6月10日周四 下午3:31写道:
> >
> > 大佬,能告知一下吗?我目前知道lay out有这么多的参数可以配置,哪个参数能区分jm或者tm的日志呢:
> >
> > 具体的格式化说明:
> >           %p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL。
> >           %d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/dd
> > HH:mm:ss,SSS}。
> >           %r:输出自应用程序启动到输出该log信息耗费的毫秒数。
> >           %t:输出产生该日志事件的线程名。
> >
> > %l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)。
> >           %c:输出日志信息所属的日志对象,也就是getLogger()中的内容。
> >                           %C:输出日志信息所属的类目;
> >                           %logger:log4j中没有此格式;
> >           %M:输出产生日志信息的方法名。
> >           %F:输出日志消息产生时所在的文件名称。
> >           %L::输出代码中的行号。
> >           %m::输出代码中指定的具体日志信息。
> >           %n:输出一个回车换行符,Windows平台为"rn",Unix平台为"n"。
> >           %x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
> >           %%:输出一个"%"字符。
> >
> >
> >
> > --
> > Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

nobleyd
OK. done。  成功了。 至于怎么区分机器的话可以使用env或sys变量。
JM和TM的话可以自己改一改flink-daemon.sh脚本的启动部分,新增 "-Dxxx=${DAEMON}-${id}"
系统启动属性。然后log4使用${sys:xxx}

yidan zhao <[hidden email]> 于2021年6月10日周四 下午8:08写道:

>
>  我也尝试了一波,不过比较奇怪的是,我程序测试log4可以写kafka OK。但是flink就是写不进去。
>
> yidan zhao <[hidden email]> 于2021年6月10日周四 下午4:18写道:
> >
> > @yujianbo hi。可以把你log4j的配置发出来嘛,我也参考参考。
> >
> > yujianbo <[hidden email]> 于2021年6月10日周四 下午3:31写道:
> > >
> > > 大佬,能告知一下吗?我目前知道lay out有这么多的参数可以配置,哪个参数能区分jm或者tm的日志呢:
> > >
> > > 具体的格式化说明:
> > >           %p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL。
> > >           %d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/dd
> > > HH:mm:ss,SSS}。
> > >           %r:输出自应用程序启动到输出该log信息耗费的毫秒数。
> > >           %t:输出产生该日志事件的线程名。
> > >
> > > %l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)。
> > >           %c:输出日志信息所属的日志对象,也就是getLogger()中的内容。
> > >                           %C:输出日志信息所属的类目;
> > >                           %logger:log4j中没有此格式;
> > >           %M:输出产生日志信息的方法名。
> > >           %F:输出日志消息产生时所在的文件名称。
> > >           %L::输出代码中的行号。
> > >           %m::输出代码中指定的具体日志信息。
> > >           %n:输出一个回车换行符,Windows平台为"rn",Unix平台为"n"。
> > >           %x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
> > >           %%:输出一个"%"字符。
> > >
> > >
> > >
> > > --
> > > Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

DanielGu
同求一波配置
谢谢大佬们



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

王刚
In reply to this post by yujianbo
用这两个配置 定制不同的启动参数传到log4j配置文件是不是就可以
env.java.opts.jobmanager
env.java.opts.taskmanager

 原始邮件
发件人: DanielGu<[hidden email]>
收件人: user-zh<[hidden email]>
发送时间: 2021年6月11日(周五) 18:07
主题: Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?


同求一波配置
谢谢大佬们



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

r pp
如果你找到正确的JobManager 和TaskManager 的启动命令,如: Java -Dlog.file =...
 找到log4j中 类似:${sys:log.file} ,  ${env:MAX_LOG_FILE_NUMBER:-10}  ,一个是系统参数
-Dlog.file ,一个环境变量。

方法有:

1.直接在 运行命令中 加入新参数,再从 log4j 读取相应参数即可,相对直接一些,有可能需要改动源码

2.从日志名入手,你看无论TM 还是 JM ,看日志就区别好了,只要获取
日志名,再正则(在log4j配置中如何正则呢?)获取你想要的日志关键字,取为Kafka的topic name,基本上就可解了


王刚 <[hidden email]> 于2021年6月14日周一 下午3:48写道:

> 用这两个配置 定制不同的启动参数传到log4j配置文件是不是就可以
> env.java.opts.jobmanager
> env.java.opts.taskmanager
>
>  原始邮件
> 发件人: DanielGu<[hidden email]>
> 收件人: user-zh<[hidden email]>
> 发送时间: 2021年6月11日(周五) 18:07
> 主题: Re: Flink1.12
> 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?
>
>
> 同求一波配置
> 谢谢大佬们
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
>
>

--
Best,
  pp
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.12 用官方默认的log4j2打日志到kafka,如何区分jobmanager和TaskManager的日志?怎么加参数?

yujianbo
In reply to this post by DanielGu
最新详细配置,可以看看我的博客:
https://blog.csdn.net/weixin_44500374/article/details/117931457
如果对你有帮助帮忙点个赞~



--
Sent from: http://apache-flink.147419.n8.nabble.com/