Giter VIP home page Giter VIP logo

log4jwebtracker's Introduction

Log4j Web Tracker

Log4j Web Tracker is an open source web tool to setup at runtime the Apache Log4j configuration loggers of an application. It also has a tab that allows read the logs at runtime, or download them.

It's distributed in a small .jar file (log4jwebtracker.jar), and it must be placed in the WEB-INF/lib folder of the java web application.

To configure it, in the WEB-INF/web.xml file you have to add a mapping like this:

    <servlet>
        <servlet-name>TrackerServlet</servlet-name>
        <servlet-class>log4jwebtracker.servlet.TrackerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>TrackerServlet</servlet-name>
        <url-pattern>/tracker/*</url-pattern>
    </servlet-mapping>

In the example the tool was mapped as /tracker/*, so if the application is accessible in http://localhost:8080/myapp, the right URL to access the tracker is:

http://localhost:8080/myapp/tracker

Introduction

In the first tab you can setup the level of each logger of the application, including the root logger. The configuration are applied at the moment, but not change the original configuration placed in log4j.properties, log4j.xml or any configuration file, if you restart the application, the original configuration will applied again.

In the second tab named Log, you can select an appender file and view the last content in the webpage (the numbers of line are configurable), or download them.

Log4j configuration

Log4j not need any special configuration for use this tool, you can use the usual way to configure the logging. Many developers used a util class from Spring in the web context to do this (org.springframework.web.util.Log4jConfigListener).

Also you can use the automatic setup (the configuration file must be placed on the WEB-INF/classes folder), or the manually basic setup, invoking org.apache.log4j.PropertyConfigurator.configure(String configFilename).

Log4jWebTracker provides a servlet class to do that, but it's optional:

    <servlet>
            <servlet-name>Log4jInitServlet</servlet-name>
            <servlet-class>log4jwebtracker.servlet.init.Log4jInitServlet</servlet-class>
            <init-param>
                    <param-name>log4jConfigLocation</param-name>
                    <param-value>WEB-INF/classes/log4j.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
    </servlet>

Requirements

  • Java 1.4+
  • Servlet container 2.3+ (like Apache Tomcat 4.1 or higher, or WebSphere 5.0+, etc.)

Dependencies

No dependencies with others libraries or frameworks, except of course Log4j (tested only with v1.2).

Maven projects

If your project is building using Apache Maven 2 or above, put this artifact in your pom.xml to import the jar:

    <dependency>
        <groupId>log4jwebtracker</groupId>
        <artifactId>log4jwebtracker</artifactId>
        <version>1.0.2</version>
    </dependency>

The repository necessary to get the artifact is:

    <repository>
            <id>log4jwebtracker-releases</id>
            <url>http://repo.log4jwebtracker.com/maven2</url>
    </repository>

TO DO

  • Securize access (anyway, can be done with filters, web security using web.xml policies, or others options).
  • Configure appenders and patterns at runtime.
  • Filter field with regular expressions to match the output of the log.
  • Send us your proposal...

License

The project is licensed under the terms of the GNU Lesser GPL General Public License version 3 (LGPLv3).

Binary and Source Code

This source code is available in Github.

Also the source is available in .jar format here.

The binary version in .jar format, ready to use for your project is here.

About

Author: My name is Mariano Ruiz, I work as Software & Web Developer. I'm from Argentina.

My Home: http://www.mrdev.com.ar | Email: [email protected]

log4jwebtracker's People

Contributors

mrsarm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.