Who need it?
Anyone who are serious in obtaining more information about their users and to improve the usability of their websites. The primary target parties are those web marketer, b2c portal sites, web specialist, and whoever interested in cutting edge Java and web technologies
Why not develop it yourself?
The library is useful to any web projects implement in J2EE. It saves a significant amount of development time. Some of the visitor information tracking mechanism is very advanced and not any junior developers can make it. Besides, the JHttpLog is designed as a library that is transparent to the web application. This requires no effort to integrate it with your application.
Who is using it?
There is only one commercial implementation so far. It is for a marketing agency in Hong Kong, which got not too many traffics. It will be implemented in any of my web projects in the future.
Is it scalable?
Tthe library is designed in a way that only consume a low level of resource and it won't make much difference to the performance of your application. JHttpLog performs logging per user session, instead of per hit (request) like a web server. Scalability is not an issue at all. JHttpLog assumes your application server supports a typical mechanism called "sticky session", that means in only one application server in a server farm is used to serve the same visitor.
Why the extended information are not logged by web server?
I think it is mainly because of log file size and performance. It is not unusual for a web server to process thousands o f users and hundred of thousands of hits daily. The resulting access information recorded by the web server amounts to megabytes or even gigabytes of daily traffic data. Miminizing logging is a typical strategy. For example, Apache doesn't log useful information like referrer and user agent because including such information in the log will significiantly increase the log file size. Besides, performance could an issue.
How does a web server log user information?
A web server passively gather access information about each request by observing and logging the traffic data packages exchanged between the web server and the browser. It logs each hit made by the browser, which includes information like the date and time of the access, request file path and name etc.
What is the use of web traffic analysis?
Important facts about the visitors can be determined directly or inferentially by analyzing the traffic data and the context of echo hit. Traffic data collected over a period of time can yield statistical informaiton, such as the number of users visiting a web site each day, what countries, states or cities the users connect from, and the most active day or hour of the week etc. Such statistical informaiton is useful in tailoring marketing or managerial strategies to better match the apparent needs of the audience.
So, what's the relationship between JHttpLog and Web server logs?
As mentioned in the documentation page, JHttpLog logs information for building user profiles, in contrast to the web server logging facilities that aim at recording web traffic. The two source of data can be referenced to each other for performing analysis. There is no plan to add analytical functionality to JHttpLog. For the purpose of analysing visitor information, you may export the JHttpLog data and use it in your web traffic analyzer, such as NetIQ W ebtrends. JHttpLog is targeted at building a complete user profile, even through the collected data can be analyzed in other ways.
Does JHttpLog got anything to do with application logging just like Log4J?
No. JHttpLog collects user information from HttpServletRequest and perform processing, and stores the information to JDOs. JHttpLog does use Log4J for its internal application logging.
Who am I?
My name is Mingfai, Ma. Please refer to the Sourceforge profile page for more information.