`
douknow
  • 浏览: 16494 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

按线程分解log4j格式日志脚本

 
阅读更多
<?php


function readThreadName($line){
    $start=strpos($line,' [');
    if($start!=false){
        $end=strpos($line,'] ',$start);
        return substr($line,$start+2,$end-$start-2);
    }else{
        return '';
    }
}
function putLine2File($content,$fileName){
    global $fileRese;
    $fileName=trim($fileName);
    if(isset($fileRese[$fileName])){
        //echo 'setted';
       $res=$fileRese[$fileName];
    }else{
        //echo 'added';
        $res=fopen('threads/'.$fileName,'a+');
        $fileRese[$fileName]=$res;
    }
    var_dump($fileName);
    var_dump($res);
    echo 'write:'+fwrite($res,$content."\n");
}

$lines=file('search.log');
$preLineThread='';
$fileReses=array();
$num=0;
foreach($lines as $line){
    echo $num++;
    $thread=readThreadName($line);
    if(empty($thread)){
        $thread=$preLineThread;
    }
    putLine2File($line,$thread);
    $preLineThread=$thread;
    //break;
}

?>

 

分享到:
评论

相关推荐

    log4j2异步多线程打印

    在Log4j2中,配置文件通常使用XML、JSON或YAML格式,可以灵活定义日志级别、过滤器、Appenders和Layouts。例如,你可以设置一个异步Appender,使用`AsyncAppender`组件,并配置多个`Logger`来实现多线程下的不同日志...

    log4j自定义日志文件名及日志输出格式

    当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先,让我们深入理解如何自定义日志文件名。默认情况下,Log4j的日志文件名通常是固定的或者基于时间戳生成...

    log4j按功能保存日志

    - **Layout**: 日志格式化器,决定日志信息的输出格式,如日期、级别、线程名等。 - **Level**: 日志级别,包括DEBUG、INFO、WARN、ERROR、FATAL等,用于控制不同严重程度的信息。 2. **配置日志输出** - 在Log4...

    Log4j2实现不同线程不同级别日志输出到不同的文件中

    - 要实现不同线程的日志分别输出,我们需要创建一个自定义的Log4j2配置文件(通常为`.xml`或`.json`格式)。配置文件中,我们可以定义多个Appenders(输出目的地),每个Appender可以关联不同的日志级别和线程上...

    AndroidStudio 使用log4j记录日志,按照大小定期滚动日志Demo

    本文将详细介绍如何在Android Studio中使用log4j库来记录日志,并实现按照日志文件大小自动滚动的功能,以及如何进行日志内容的格式化输出。 首先,log4j是一款广泛使用的日志记录框架,它提供了灵活的日志配置和...

    log4j日志输出格式化和日志文件名格式化

    本文将深入探讨如何利用Log4j进行日志输出格式化以及设置日志文件名格式化,以满足公司的标准化需求。 首先,我们来看日志输出格式化。Log4j的核心在于其灵活性,可以通过自定义布局模板来控制日志输出的格式。最...

    log4j记录Debug日志

    10. **日志切割与归档**:Log4j可以配置自动滚动日志文件,比如按日期或大小切割,防止单个日志文件过大,同时支持归档旧的日志文件。 在使用Log4j记录Debug日志时,确保项目中引入了相应的Log4j库,并正确配置了`...

    Log4j生成日志保存

    4. **Layout**: 格式化器,定义了日志信息的输出格式,如时间戳、线程名、级别、日志消息等。 二、Log4j在Android中的使用方式 1. **集成Log4j**: 首先,需要在Android项目中引入Log4j的库文件。由于Log4j不是专门...

    使用Slf4j集成Log4j2构建项目日志系统的完美解决方案.docx

    Log4j2是Log4j的升级版本,它基于LMAX Disruptor的异步日志在多线程环境下性能远远优于Log4j 1.x和logback。 本文将详细介绍如何使用Slf4j集成Log4j2构建项目日志系统的完美解决方案。 背景: 随着项目的发展,对...

    Log4j2异步写日志效率测试源码

    然而,通过启用异步日志模式,Log4j2会将日志事件放入一个队列,然后由一个单独的后台线程处理这些事件,从而避免了主线程的阻塞,提高了应用程序的响应速度。 在"Log4j2Test"压缩包中,可能包含了以下内容: 1. ...

    log4j日志详细讲解

    Log4j是一个广泛使用的Java日志框架,它允许开发者在应用程序中记录各种级别的日志信息,包括ERROR、WARN、INFO、DEBUG等。日志对于调试、性能分析、故障排查以及系统监控至关重要。以下是对Log4j日志的详细讲解: ...

    log4j日志管理

    Log4j的核心设计理念在于提供高度可配置的日志系统,使得开发人员可以根据实际需求调整日志的级别、输出目的地以及日志格式等。 #### 二、Log4j的基本组件 Log4j主要由以下几个核心组件组成: 1. **Logger** - ...

    log4j,日志——日志抓取

    这个配置将日志输出到控制台,并使用日期时间、线程名、日志级别、类名和消息作为日志格式。 **日志级别** Log4j支持多种日志级别,包括TRACE、DEBUG、INFO、WARN、ERROR和FATAL。开发者可以根据应用需求调整日志...

    log4j生成带时间戳的日志文件(包括extras包以及简单demo)

    在Log4j中,我们可以自定义日志格式来包含时间戳。例如,在`log4j.properties`配置文件中添加以下内容: ``` log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n ``` ...

    使用log4j写日志文件

    Log4j作为Apache下的一个开源项目,是Java应用中最常用的日志框架之一,它提供了灵活的日志级别配置、丰富的输出格式以及多样的日志输出目的地选择,如控制台、文件等。 ### Log4j配置详解 #### 步骤一:配置log4j...

    配置Log4j的详细最好的日志工具

    Log4J采用了类似于C语言中`printf`函数的格式化规则来输出日志信息,常见的格式元素包括: - `%m`:输出代码中指定的消息。 - `%p`:输出日志级别。 - `%r`:输出自应用启动到输出该日志信息耗费的毫秒数。 - `%c`...

    Tomcat下使用Log4j接管生成日志文件

    Log4j是一个广泛使用的开源日志框架,提供灵活的日志配置和多种级别的日志输出。本文将详细介绍如何在Tomcat服务器环境下使用Log4j接管生成日志文件。 首先,了解Log4j的核心组件: 1. **Logger**:负责生成日志...

    Log4j将System.out搞到log4j中输出四

    Log4j主要包括三个核心组件:Logger(日志器)、Appender(输出目的地)和Layout(格式化)。Logger负责记录日志信息,Appender定义了日志输出的目标,如文件、控制台或网络,而Layout则决定了日志信息的显示格式。 ...

    log4j 源码包 日志包 2.11.0

    Log4j 2.11.0作为一款优秀的日志框架,提供了一套完善的API,支持多级别的日志记录(如DEBUG、INFO、WARN、ERROR等)和多种输出格式。 2. **Log4j 2.11.0架构** Log4j 2.11.0采用模块化设计,主要包括配置器...

Global site tag (gtag.js) - Google Analytics