schedulerx 日志服务


schedulerx 日志服务

       

官网:https://help.aliyun.com/document_detail/405090.html

          

                

                                

接入日志服务

                    

控制台:创建应用,开通日志服务(日志最多保留2周,超过2周会被清理)

            

            

客户端:需为1.4.2以上版本

        <dependency>
            <groupId>com.aliyun.schedulerx</groupId>
            <artifactId>schedulerx2-spring-boot-starter</artifactId>
            <version>1.5.0.2</version>
        </dependency>

          

***********

日志配置

        

log4j2:log4j2.xml添加名为SchedulerxLog4j2Appender的appender

 <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="off">
    <Appenders>
        <!-- 输出到控制台 -->
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout
                pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %m%n" />
        </Console>

        <!-- 输出到schedulerx -->
        <SchedulerxLog4j2Appender name="schedulerxLog"
            timeFormat="yyyy-MM-dd'T'HH:mmZ"
            timeZone="UTC"
            ignoreExceptions="true">
            <PatternLayout pattern="%d %-5level [%thread] %logger{0}: %msg"/>
        </SchedulerxLog4j2Appender>
    </Appenders>

    <Loggers>
        <!-- 输出到控制台,日志级别为info -->
        <Root level="info">
            <AppenderRef ref="Console" />
        </Root>

        <!-- 输出到schedulerx,日志级别为info -->
        <Logger name="schedulerx" level="info" additivity="false">
            <AppenderRef ref="schedulerxLog" />
        </Logger>
    </Loggers>
</Configuration>

         

log4j:log4j.properties添加appender

log4j.appender.schedulerxLog=com.alibaba.schedulerx.worker.log.appender.SchedulerxLog4jAppender

       

logback:logback.xml添加appender

<appender name="schedulerxLog" class="com.alibaba.schedulerx.worker.log.appender.SchedulerxLogbackAppender">
    <timeFormat>yyyy-MM-dd'T'HH:mmZ</timeFormat>
    <timeZone>UTC</timeZone>
</appender>

         

              

                                

使用示例

  

                      

           

application.yml

spring:
  schedulerx2:
    aliyunAccessKey: ***
    aliyunSecretKey: ***
    regionId: public
    endpoint: acm.aliyun.com
    namespaceName: lihu-test
    namespace: ***
    appName: lihu-job
    groupId: lihu-group
    appKey: OOs+XPhRsAa1Ia6+Op+NAw==
    jobs:
      customJob:
        jobModel: standalone
        className: com.example.demo.job.CustomJob
        cron: "0 */1 * * * ?"

         

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>

    <property name="console.pattern" value="%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
    <property name="file.pattern" value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${console.pattern}</pattern>
        </encoder>
    </appender>

    <!-- 输出到schedulerx -->
    <appender name="schedulerxLog" class="com.alibaba.schedulerx.worker.log.appender.SchedulerxLogbackAppender">
        <timeFormat>yyyy-MM-dd HH:mm:ss:SSS</timeFormat>
        <timeZone>UTC</timeZone>
    </appender>

    <!-- 日志级别为info -->
    <root level="info">
        <appender-ref ref="console"/>
        <appender-ref ref="schedulerxLog"/>
    </root>
</configuration>

         

DataConfig

@Configuration
public class DataConfig {
 
    @Bean
    public JobSyncService initJobSyncService(){
        return new JobSyncService();
    }
}

            

CustomJob

public class CustomJob extends JavaProcessor {

    private Logger logger = LoggerFactory.getLogger(this.getClass().getName());

    @Override
    public ProcessResult process(JobContext context) throws Exception {
        System.out.println("job:"+ LocalDateTime.now());
        logger.info("jobName:{},任务时间:{}",context.getJobName(),LocalDateTime.now());

        return new ProcessResult(true);
    }
}

      

         

                                

使用测试

       

控制台:应用开启日志服务

            

              

          

 启动应用,控制台查看应用接入

            

        

控制台查看应用日志

            

            

                   

控制台日志查询

            

       

应用控制台日志

2022-04-19 12:22:53.294  INFO 1594 --- [eartbeat-thread] heartbeat                                : heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=14ms
heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=14ms
2022-04-19 12:22:59.981  INFO 1594 --- [er-instance-302] c.a.s.worker.actor.JobInstanceActor      : handleSubmitJobInstance, jobInstanceId=998854056
handleSubmitJobInstance, jobInstanceId=998854056
2022-04-19 12:22:59.981  INFO 1594 --- [er-instance-302] c.a.s.worker.master.TaskMasterFactory    : create TaskMaster, className=com.alibaba.schedulerx.worker.master.StandaloneTaskMaster
create TaskMaster, className=com.alibaba.schedulerx.worker.master.StandaloneTaskMaster
2022-04-19 12:22:59.982  WARN 1594 --- [er-instance-302] c.a.s.w.util.JavaProcessorProfileUtil    : initSpringJobProcessor field not found, jobProcessor:com.example.demo.job.CustomJob, fieldName:logger
initSpringJobProcessor field not found, jobProcessor:com.example.demo.job.CustomJob, fieldName:logger
2022-04-19 12:22:59.983  INFO 1594 --- [394_998854056-0] c.a.s.worker.container.ThreadContainer   : reportTaskStatus instanceId=717394_998854056_0 submitResult=true, processResult=ProcessResult [status=RUNNING, result=null]
2022-04-19 12:22:59.983  WARN 1594 --- [394_998854056-0] c.a.s.w.util.JavaProcessorProfileUtil    : initSpringJobProcessor field not found, jobProcessor:com.example.demo.job.CustomJob, fieldName:logger
job:2022-04-19T12:22:59.983

# logger.info输出
2022-04-19 12:22:59.983  INFO 1594 --- [394_998854056-0] com.example.demo.job.CustomJob           : jobName:customJob,任务时间:2022-04-19T12:22:59.983
2022-04-19 12:22:59.983  INFO 1594 --- [394_998854056-0] c.a.s.worker.container.ThreadContainer   : reportTaskStatus instanceId=717394_998854056_0 submitResult=true, processResult=ProcessResult [status=SUCCESS, result=null]
2022-04-19 12:23:00.987  INFO 1594 --- [ead-998854056-1] c.a.s.w.batch.ContainerStatusReqHandler  : jobInstanceId=998854056 batch report status=3 to task master, size:2
jobInstanceId=998854056 batch report status=3 to task master, size:2
2022-04-19 12:23:00.988  INFO 1594 --- [atcher-task-306] c.a.schedulerx.worker.actor.TaskActor    : jobInstanceId=998854056, batch receive task status reqs, size:2
jobInstanceId=998854056, batch receive task status reqs, size:2
2022-04-19 12:23:00.989  INFO 1594 --- [atcher-task-306] .w.m.h.CommonUpdateInstanceStatusHandler : report jobInstance=998854056, status=SUCCESS to AtLeastDeliveryRoutingActor
report jobInstance=998854056, status=SUCCESS to AtLeastDeliveryRoutingActor
2022-04-19 12:23:00.990  INFO 1594 --- [r-container-308] c.a.s.worker.actor.ContainerActor        : handleDestroyContainerPool from cycleId=998854056_0, handler serialNum=0.
handleDestroyContainerPool from cycleId=998854056_0, handler serialNum=0.
2022-04-19 12:23:00.990  INFO 1594 --- [lt-dispatcher-5] c.a.s.w.ha.AtLeastOnceDeliveryActor      : report jobInstance=998854056, status=4 to server=ActorSelection[Anchor(akka.tcp://server@112.124.156.1:8080/), Path(/user/instance_status_router)]
report jobInstance=998854056, status=4 to server=ActorSelection[Anchor(akka.tcp://server@112.124.156.1:8080/), Path(/user/instance_status_router)]
2022-04-19 12:23:00.991  INFO 1594 --- [atcher-task-306] .w.m.h.CommonUpdateInstanceStatusHandler : uniqueId: 717394_998854056 is finished, remove from MasterPool.
uniqueId: 717394_998854056 is finished, remove from MasterPool.
2022-04-19 12:23:03.296  INFO 1594 --- [eartbeat-thread] heartbeat                                : heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=16ms
heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=16ms
2022-04-19 12:23:13.293  INFO 1594 --- [eartbeat-thread] heartbeat                                : heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=13ms
heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=13ms
2022-04-19 12:23:23.382  INFO 1594 --- [eartbeat-thread] heartbeat                                : heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=104ms
heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=104ms
2022-04-19 12:23:33.291  INFO 1594 --- [eartbeat-thread] heartbeat                                : heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=13ms
heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=13ms
2022-04-19 12:23:38.285  INFO 1594 --- [sCollectorTimer] timer                                    : enableCgroup=false, cpuUsage=2.79599609375, jvmHeapUsage=0.012633891787970338, diskUsage=0.2819199583894363
enableCgroup=false, cpuUsage=2.79599609375, jvmHeapUsage=0.012633891787970338, diskUsage=0.2819199583894363
2022-04-19 12:23:43.295  INFO 1594 --- [eartbeat-thread] heartbeat                                : heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=15ms
heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=15ms
2022-04-19 12:23:53.291  INFO 1594 --- [eartbeat-thread] heartbeat                                : heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=13ms
heartbeat groupId=lihu-group to akka.tcp://server@112.124.156.1:8080, cost=13ms
2022-04-19 12:23:59.999  INFO 1594 --- [er-instance-309] c.a.s.worker.actor.JobInstanceActor      : handleSubmitJobInstance, jobInstanceId=998854569
handleSubmitJobInstance, jobInstanceId=998854569
2022-04-19 12:24:00.000  INFO 1594 --- [er-instance-309] c.a.s.worker.master.TaskMasterFactory    : create TaskMaster, className=com.alibaba.schedulerx.worker.master.StandaloneTaskMaster
create TaskMaster, className=com.alibaba.schedulerx.worker.master.StandaloneTaskMaster
2022-04-19 12:24:00.001  WARN 1594 --- [er-instance-309] c.a.s.w.util.JavaProcessorProfileUtil    : initSpringJobProcessor field not found, jobProcessor:com.example.demo.job.CustomJob, fieldName:logger
initSpringJobProcessor field not found, jobProcessor:com.example.demo.job.CustomJob, fieldName:logger
2022-04-19 12:24:00.002  INFO 1594 --- [394_998854569-0] c.a.s.worker.container.ThreadContainer   : reportTaskStatus instanceId=717394_998854569_0 submitResult=true, processResult=ProcessResult [status=RUNNING, result=null]
2022-04-19 12:24:00.002  WARN 1594 --- [394_998854569-0] c.a.s.w.util.JavaProcessorProfileUtil    : initSpringJobProcessor field not found, jobProcessor:com.example.demo.job.CustomJob, fieldName:logger

# System.out输出
job:2022-04-19T12:24:00.003

            

                 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值