`
shendixiong
  • 浏览: 397946 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

tomcat 日志打印以及Log文件创建

    博客分类:
  • java
 
阅读更多

最近我公司的数据流量过大,导致数据库爆掉!

  所以,数据库压力增大!

 一般来说!

  数据库压力增大,可以通过建立中间表,或者log表,通过一个job执行!一步步查!

 又或者分离表,见一个很大的表分成很多小表!查询的时候,要更加明确!也可以通过多表查询得到结果!

  还有一种就是直接得到日志!

  我用的是直接用tomcat创建一个Log日志文件!

 

 首先在config.properties中配置下

epg.video.logfile.dir =E:/job/log

 然后在spring配置中配置下!也就是启动和退出的时候才启动日志!

<bean id="runtimeService" class="com.viewtoo.epg.service.RuntimeService" init-method="init"
            destroy-method="destroy">
          <property name="manager">
              <ref local="manager"/>
          </property>
        <property name="epgVideoDrLogFileDir" value="${epg.video.logfile.dir}"/>
    </bean>

 然后在com.viewtoo.epg.service.RuntimeService类里面配置一个set方法!这个我就不贴代码了!

 

 

下面是我的java代码

/**
     * 定义log的输出格式,已经存储区域的命名
     * @param pathName
     * @return Log
     */
    private Logger _getLogger(String pathName) {
        Logger logs = (Logger)logHandlerMap.get(pathName);
        try {
            if (logs == null) {
                logs = Logger.getLogger("com.viewtoo.epg.logservice." + pathName);
                Layout layout = new PatternLayout("%d{yyyy-MM-dd HH:mm:ss}%m%n");    //输出格式
           String filePath = this.epgVideoDrLogFileDir  + pathName + "_" + DateUtils.formatDate(new Date(), "yyyy-MM-dd") + ".log";
                String datePattern = ".yyyy-MM-dd"; //每天

           DailyRollingFileAppender appender = new DailyRollingFileAppender(layout, filePath, datePattern);
                logs.setLevel(Level.INFO);
                logs.addAppender(appender);

                logHandlerMap.put(pathName,logs);
            }
            return logs;

        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

 logHandlerMap 这个我定义的是全局!因为如果不这么定义,会导致log重复输出!

所以!

 这么定义方便事例和查找!我debug了也找不到问题!网上找了很多资料!但是,大多数,都无法与我想的逻辑匹配!

  所以!这么定义方便!

 

 

 

 /**
     * 
     * @param obj
     * @param pathName
     */
    private void _log2File(Object obj, String pathName) {
        Logger logs = this._getLogger(pathName.trim());
        if("EpDr".equals(pathName.trim())){
            EpDr epDr = (EpDr)obj;
            logs.info(epDr.toString());
        }
       
    }

 上面这么写!是为了方便以后拓展!还有就是!我在EpDr 这个entity中自定义了一个toString方法!

 

还有,就是该,在创建日志文件的时候,要记得!输出的顺序,要跟数据库的一样!

  因为,这样方便查询!而且,也方便以后再DB端操作!

0
0
分享到:
评论

相关推荐

    Tomcat使用Log4j输出catalina.out日志

    通过以上步骤,Tomcat服务器将使用Log4j来管理catalina.out日志,这不但解决了日志文件过大和格式不统一的问题,而且提供了更丰富的日志管理功能,例如,可以利用Log4j强大的过滤、路由和格式化等功能,将日志管理得...

    Linux下tomcat日志catalina.out按天(/周)分割

    默认情况下,Tomcat的主要日志输出文件是`catalina.out`,它记录了服务器启动、运行和关闭过程中的所有标准输出和错误信息。然而,随着服务器运行时间的增长,`catalina.out`可能会变得非常大,导致日志查找和分析变...

    配置好log4j的eclipse简单工程,每天输出到一个日志文件中,该文件名为:“XXX_年月日时分.log”的形式

    本工程基于Eclipse IDE,配置了一个简单的Log4j设置,实现了每天自动将日志输出到一个特定命名格式的文件中,即“XXX_年月日时分.log”。下面我们将详细解析这个配置及其工作原理。 1. **Log4j介绍**: Log4j是一...

    最新tomcat日志查看包

    1. **配置文件**:创建一个`log4j.properties`或`log4j.xml`配置文件,定义日志记录的级别、格式和目的地。 2. **引入依赖**:将Log4j的JAR文件添加到Tomcat的`lib`目录,确保Tomcat能识别并加载这个库。 3. **初始...

    Tomcat日志catalina.out过大解决方案--使用logback按日轮转.rar

    接下来,我们需要在`Tomcat`的`conf`目录下创建或修改`logging.properties`文件,指定使用`Logback`作为日志处理器。添加以下内容: ``` handlers = 1.org.apache.juli.FileHandler, ch.qos.logback.classic....

    Tomcat输出catalina.out的大小控制

    `catalina.out`是Tomcat默认的日志文件,它记录了Tomcat启动、运行以及错误信息,对开发者和管理员来说非常重要。然而,如果不进行适当管理,这个日志文件可能会无限制增长,占用大量磁盘空间,甚至可能导致服务器...

    配置Tomcat自身的log.rar

    2. **Tomcat日志配置文件** - 主要的配置文件位于`$CATALINA_BASE/conf/logging.properties`,这个文件使用Java Logging API(java.util.logging)的配置语法。 - 另外,`server.xml`文件中也可以配置一些基本的...

    tomcat访问(access)日志配置和记录Post请求参数

    `rotatable`若设为`true`,Tomcat会根据`fileDateFormat`每天创建新的日志文件。若设为`false`,所有日志都会写入同一文件,可能导致文件过大。 `fileDateFormat`定义了日志文件名的时间格式,如`"yyyy-MM-dd"`表示...

    log4j使用笔记

    通过 log4j,开发人员可以方便地控制日志消息的级别(如 debug、info、warn 等)、输出格式、以及日志消息的去向(控制台、文件等)。 #### 二、log4j 的核心组件 log4j 主要包含三个核心组件:`Logger`、`...

    log4j配置文件.doc

    Log4J的配置文件是其核心部分,因为它定义了日志信息如何被记录、输出以及格式化。以下是关于Log4J配置文件的详细说明。 1. **配置文件基本结构** Log4J的配置文件采用键值对或者XML格式来设定日志行为。一个简单...

    log4j的详细配置

    - `org.apache.log4j.DailyRollingFileAppender`:每天创建新的日志文件。 - `org.apache.log4j.RollingFileAppender`:文件大小达到指定大小时创建新文件。 - `org.apache.log4j.WriterAppender`:将日志信息写入...

    Tomcat下配置Hibernate

    - log4j-x.x.x.jar (日志库) ##### 3. 配置Hibernate - 创建`WEB-INF/classes/`目录下的`hibernate.cfg.xml`文件,内容如下: ```xml &lt;!-- 数据库连接信息 --&gt; &lt;property name="connection.username"&gt;sa ...

    JavaWeb打印服务器完整代码

    9. **日志记录**: 使用如Log4j或SLF4J的日志框架,记录系统运行状态和错误信息,便于故障排查和性能优化。 10. **文档说明**: `使用说明.txt`文件包含了项目如何部署、配置和使用的指南,对于用户和运维人员非常...

    JEECG 开发指南v3.6.pdf )

    - **发布与启动**:项目开发完成后,可以通过 Tomcat 或 Nginx 等服务器将应用部署上线,并确保所有必要的资源文件都已正确配置。 #### 4. 代码生成器详解 - **配置与使用**:首先需要配置好代码生成器的相关参数...

    Weblogic,tomcat调试eclipse配置

    本文主要介绍了如何在Eclipse环境下配置Weblogic与Tomcat服务器,以便于调试并打印出执行中的SQL语句,这对于初学者来说是非常有用的。 #### 二、准备工作 为了实现这一目标,首先需要准备几个关键组件: 1. **SQL ...

    logback.jar

    在logback中,Appender负责将日志信息输出到特定的目标,如ConsoleAppender将日志打印到控制台,FileAppender写入文件。而Layout则定义了日志信息的格式,如PatternLayout可以自定义输出模式。 **7. 日志级别管理**...

    logback-0.9.15.zip

    Logback 是一个高效、强大的日志处理框架,它是对经典的日志组件log4j的升级和改进版本。在Java世界中,日志记录是应用程序必不可少的一部分,它用于追踪程序运行时的状态,帮助开发者调试和诊断问题。Logback由Ceki...

    bpel designer hello world 例子

    这个简单的流程包括一个起始节点 (`&lt;start&gt;`),一个序列 (`&lt;sequence&gt;`),以及一个消息处理 (`&lt;onMessage&gt;`),它接收一个消息并打印出 “Hello World!” 的文本。 3. **编译 BPEL 文件** 编写完BPEL文件后,通过...

    SpringBoot视频教程全套百度网盘

    当开发者使用SLF4J记录日志时,日志框架会根据配置的日志级别决定是否打印日志信息。此外,Spring Boot还支持对日志进行文件滚动、多文件输出等功能。 ### Spring Boot自定义日志 除了Spring Boot提供的基本日志...

Global site tag (gtag.js) - Google Analytics