`
zhuyuanxiang
  • 浏览: 130532 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Apusic AS的Web应用中调用Log4J的流程

阅读更多

经常碰到项目中用Log4J,但是自己一直都没有认真去研究过Log4J的运行流程,看了许多资料讲得都是Log4J.properties怎么配置,但是Log4J启动→调用→输出的流程仍然不清楚,本文就准备对Log4J的详细启动过程进行介绍,使得大家可以更好的在Apusic中使用Log4J。

 

1. 编写一个Servlet程序,目标是初始化Log4J的相关配置,具体内容参考附件中的Log4jInit.java程序,主要部分如下:

public class Log4jInit extends HttpServlet {

 public void init() {
  ServletContext context = getServletConfig().getServletContext();
  Hierarchy hierarchy = new Hierarchy(new RootCategory(Level.DEBUG));

  // 将hierarchy初始化后保存到context中,在Web应用的全局供其他Web代码使用。
  context.setAttribute("hierarchy", hierarchy);

  String prefix = getServletContext().getRealPath("/");
  String file = getInitParameter("log4j-init-file");
  // if the log4j-init-file is not set, then no point in trying
  if (file != null) {   // 增加hierarchy配置的内容
   new PropertyConfigurator().doConfigure(prefix + file, hierarchy);
   Logger logger = hierarchy.getLogger(Log4jInit.class.getName());
   logger.info("Logging initialized for Hello.");
  }
 }

关键就是对Hierachy的初始化,并且保存到context中,供其他Web应用中的Java代码使用

2. 配置web.xml文件,对Log4jInit在Web应用加载过程中初始化

 <servlet>
  <servlet-name>log4j-init</servlet-name>
  <servlet-class>wombat.Log4jInit</servlet-class>

  <init-param>
   <param-name>log4j-init-file</param-name>
   <param-value>WEB-INF/classes/log4j.properties</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>

3. 编写HelloServlet.java,在代码中使用Logger

 public void init() throws ServletException {
  ServletContext context = getServletConfig().getServletContext();
  // 从context中取出hierarchy供本Servlet的Logger使用
  Hierarchy hierarchy = (Hierarchy) context.getAttribute("hierarchy");

  if (hierarchy == null) {
   context.log("The Hello web-application is not properly intialized.");
  } else {
   logger = hierarchy.getLogger(HelloServlet.class.getName());

   logger.info("HelloServlet initiation is OK!");
  }
 }

 

因此,如果使用Log4J需要在代码中初始化Log4J的相关配置并保存到上下文中,同时配置信息写在web.xml中,并且正确提供log4j.properties文件,然后在代码中调用了Logger就可以输出日志信息了。

本例子的/hello.log一般会输出在应用所在盘的根目录下,开发人员可以根据自己的需要调整Log4J.properties文件就可以改变了。

  • log4j.rar (621.2 KB)
  • 描述: Apusic Studio的J2EE工程,直接解开倒入到Apusic Studio中就可以使用了,如果没有使用Apusic Studio也可以直接参看里面的代码进行了解。
  • 下载次数: 68
分享到:
评论

相关推荐

    Apusic AS的Web应用中调用commons-logging的流程

    在Apusic AS中,这个特性使得系统能够根据配置文件灵活地选择日志实现,例如在生产环境使用性能优秀的Log4j,在开发环境中使用简单的JUL。 调用commons-logging的流程如下: 1. **引入依赖**:在Apusic AS的项目中...

    管理Apusic Web服务器

    Apusic Web 服务器是 Apusic 应用服务器中内置的一个高效、安全、可靠的 Web 服务器,提供完整的 Web 服务器的功能,使 Apusic 应用服务器在提供对静态页面和图形的同时,提供对 JSP、Servlet 的高效服务。Apusic ...

    金蝶Apusic应用服务器 V10企业版 用户手册+技术白皮书+调优手册

    金蝶Apusic应用服务器V10企业版是金蝶公司推出的一款强大且高效的企业级中间件产品,主要用于构建和运行企业级的Web应用程序和服务。该版本的用户手册、技术白皮书以及调优手册提供了全面的技术指导和优化策略,帮助...

    金蝶Apusic V10 应用服务器用户管理手册

    金蝶Apusic应用服务器是企业级的中间件产品,主要用于构建和运行复杂的企业应用程序。它提供了稳定、高效、安全的运行环境,适用于分布式系统,并具备良好的可扩展性和伸缩性。Apusic V10版本进一步优化了这些特性,...

    AAS-V10.zip

    标题"AAS-V10.zip"和描述中的"apusic"关键词指向了Apusic应用服务器,这是一款由中国万网(现阿里云)开发的企业级Java应用服务器,它为各种企业应用程序提供了一个运行平台。Apusic应用服务器遵循Java EE(以前称为...

    使用Jprofiler监控Apusic应用服务器.pdf

    - **配置Apusic应用服务器**: 在Apusic的启动脚本中,须添加特定的JAVA启动参数,以支持JProfiler的监控功能。具体而言,这涉及修改`APUSIC_HOME/bin`目录下的`startapusic.cmd`文件,引入必要的JProfiler连接指令。...

    AAS-V9.0用户手册.pdf

    金蝶Apusic应用服务器V9.0是金蝶中间件推出的一款企业级Java应用服务器产品,支持Java EE 6规范,提供了包括Web容器、EJB容器、企业级Java Bean等服务在内的丰富功能。本手册针对金蝶Apusic应用服务器V9.0版本的用户...

    Apusic密码修改指引

    3. **登录Apusic控制台检查部署的应用,除EAS、EASWeb、fileserver、jportal等已知应用外,是否有其他未知应用部署。** **注意事项:** - 对于发现的可疑文件或应用,应及时进行隔离或删除,并进一步调查来源。 ##...

    apusic数据库连接攻略

    在apusic文件中,程序调用是指在应用程序中使用数据源的方式。例如,在上面的示例代码中,程序调用是指在testmysql.jsp文件中使用数据源的方式。 3.1 获取连接 在apusic文件中,获取连接是指在应用程序中获取数据...

    Apusic应用服务器6.0使用手册(CHM格式)

    金蝶Apusic应用服务器6.0是一款标准、安全、高效、集成并且具有丰富功能的企业级应用服务器(Enterprise Application Server),它用于实现基于SOA的企业应用和服务,为企业应用和服务提供坚不可摧的基础架构支撑。...

    Apusic应用服务器5.1文档

    金蝶Apusic应用服务器的详细文档,包括安装、管理、开发等内容。

    AAS-V10-sp2.zip

    2. 容器化部署:AAS-V10-sp2强化了对Docker容器的支持,使得用户可以更方便地将应用程序以容器的形式进行部署和管理,简化了运维流程。 3. 高可用性:通过引入集群和负载均衡功能,AAS-V10-sp2可以实现应用服务的高...

    Apusic--license

    金蝶中间件(Apusic)--license

    Linux环境下使用Apache搭建Apusic应用服务器集群

    ### Linux环境下使用Apache搭建Apusic应用服务器集群 在IT领域,构建高效稳定的应用服务器集群是企业级服务的关键一环。本文将深入解析如何在Linux环境下,利用Apache与Apusic搭建应用服务器集群,并实现负载均衡,...

    金蝶中间件Apusic-plugins.zip

    金蝶中间件Apusic-plugins.zip是一个包含了一系列与金蝶Apusic中间件相关的开发插件的压缩包,主要用于帮助开发者在Eclipse或MyEclipse环境中进行应用程序的调试和开发。Apusic中间件是金蝶公司推出的一款企业级应用...

    2021年通用apusic license——5用户数

    2021年通用apusic license,适用于apusic9.0以上EAS(EAS8.0以上版本一般都可用),有效期到2021年12月31日。此apusic为5个连接数

    Apusic_许可

    Apusic的应用服务器,如Apusic Application Server (AAS),支持Java EE标准,为企业级Web应用程序提供运行平台。消息中间件(如Apusic Message Broker,AMB)则用于在分布式系统中传递消息,实现异步通信和解耦。...

Global site tag (gtag.js) - Google Analytics