Log4j的简单使用

log4j.properties

log4j.rootCategory=INFO, stdout
log4j.rootLogger=info, stdout

### stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p - %m%n

### set package ###
log4j.logger.org.apache.catalina=info
log4j.logger.org.apache.commons.digester.Digester=info
log4j.logger.org.apache.catalina.startup.TldConfig=info
log4j.logger.com.dheaven=debug

配置Logger

log4j.rootCategory=level,appenderName,…
log4j.rootLogger=level,appenderName,…
Logger类是Category类的子类
常用level:ERROR、WARN、INFO、DEBUG
appenderName指定日志信息输出到哪个地方,可同时指定多个输出目的地。


配置输出目的地Appender

log4j.appender.appenderName = classInfo
log4j.appender.appenderName.option = value

Log4j提供的appender有以下几种:
- org.apache.log4j.ConsoleAppender(控制台)
- org.apache.log4j.FileAppender(文件)
- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

当option为layout时,即配置日志信息的格式
log4j.appender.appenderName.layout = classInfo
log4j.appender.appenderName.layout.option = value

Log4j提供的layout有以下几种:
- org.apache.log4j.HTMLLayout(以HTML表格形式布局),
- org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
- org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
- org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)


设置package输出级别

log4j.logger.packageName=level
packageName为实际的包名,level为日志级别

web.xml

  <servlet>
    <servlet-name>log4j-init</servlet-name>
    <servlet-class>InitLog4j</servlet-class>
    <!--设置初始化参数-->
    <init-param>
      <param-name>log4j-init-file</param-name>
      <param-value>WEB-INF/log4j.properties</param-value>
    </init-param>
    <!--设置该servlet的加载优先级-->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>log4j-init</servlet-name>
    <url-pattern>/init</url-pattern>
  </servlet-mapping>
  <servlet>
    <servlet-name>InitServlet</servlet-name>
    <servlet-class>InitServlet</servlet-class>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>InitServlet</servlet-name>
    <url-pattern>/test</url-pattern>
  </servlet-mapping>

InitLog4j.java

public class InitLog4j extends HttpServlet{
    @Override
    public void init() throws ServletException {
        String prefix=getServletContext().getRealPath("/");
        prefix = prefix.replace("//", "/");
        String file = getInitParameter("log4j-init-file");
        if(file!=null){
            //加载log4j.properties
            PropertyConfigurator.configure(prefix + file);
        }
    }
}

InitServlet

public class InitServlet extends HttpServlet {
    protected Logger log = Logger.getLogger(InitServlet.class);

    private static final long serialVersionUID = 8550329576989690578L;

    public InitServlet(){
        super();
    }

    @Override
    public void destroy() {
        super.destroy();
    }

    @Override
    public void init() throws ServletException {
      log.info("print from log4j");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值