Java Doc for AccessLogValve.java in  » Sevlet-Container » apache-tomcat-6.0.14 » org » apache » catalina » valves » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Sevlet Container » apache tomcat 6.0.14 » org.apache.catalina.valves 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.apache.catalina.valves.ValveBase
      org.apache.catalina.valves.AccessLogValve

All known Subclasses:   org.apache.catalina.valves.FastCommonAccessLogValve,  org.apache.catalina.valves.ExtendedAccessLogValve,
AccessLogValve
public class AccessLogValve extends ValveBase implements Lifecycle(Code)

Implementation of the Valve interface that generates a web server access log with the detailed line contents matching a configurable pattern. The syntax of the available patterns is similar to that supported by the Apache mod_log_config module. As an additional feature, automatic rollover of log files when the date changes is also supported.

Patterns for the logged message may include constant text or any of the following replacement strings, for which the corresponding information from the specified Response is substituted:

  • %a - Remote IP address
  • %A - Local IP address
  • %b - Bytes sent, excluding HTTP headers, or '-' if no bytes were sent
  • %B - Bytes sent, excluding HTTP headers
  • %h - Remote host name
  • %H - Request protocol
  • %l - Remote logical username from identd (always returns '-')
  • %m - Request method
  • %p - Local port
  • %q - Query string (prepended with a '?' if it exists, otherwise an empty string
  • %r - First line of the request
  • %s - HTTP status code of the response
  • %S - User session ID
  • %t - Date and time, in Common Log Format format
  • %u - Remote user that was authenticated
  • %U - Requested URL path
  • %v - Local server name
  • %D - Time taken to process the request, in millis
  • %T - Time taken to process the request, in seconds

In addition, the caller can specify one of the following aliases for commonly utilized patterns:

  • common - %h %l %u %t "%r" %s %b
  • combined - %h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"

There is also support to write information from the cookie, incoming header, the Session or something else in the ServletRequest.
It is modeled after the apache syntax:

  • %{xxx}i for incoming headers
  • %{xxx}c for a specific cookie
  • %{xxx}r xxx is an attribute in the ServletRequest
  • %{xxx}s xxx is an attribute in the HttpSession

Conditional logging is also supported. This can be done with the condition property. If the value returned from ServletRequest.getAttribute(condition) yields a non-null value. The logging will be skipped.


author:
   Craig R. McClanahan
author:
   Jason Brittain
author:
   Remy Maucherat
author:
   Takayuki Kaneko
version:
   $Revision: 539787 $ $Date: 2007-01-04 12:17:11 +0900

Inner Class :protected interface AccessLogElement
Inner Class :protected class LocalAddrElement implements AccessLogElement
Inner Class :protected class RemoteAddrElement implements AccessLogElement
Inner Class :protected class HostElement implements AccessLogElement
Inner Class :protected class LogicalUserNameElement implements AccessLogElement
Inner Class :protected class ProtocolElement implements AccessLogElement
Inner Class :protected class UserElement implements AccessLogElement
Inner Class :protected class DateAndTimeElement implements AccessLogElement
Inner Class :protected class RequestElement implements AccessLogElement
Inner Class :protected class HttpStatusCodeElement implements AccessLogElement
Inner Class :protected class LocalPortElement implements AccessLogElement
Inner Class :protected class ByteSentElement implements AccessLogElement
Inner Class :protected class MethodElement implements AccessLogElement
Inner Class :protected class ElapsedTimeElement implements AccessLogElement
Inner Class :protected class QueryElement implements AccessLogElement
Inner Class :protected class SessionIdElement implements AccessLogElement
Inner Class :protected class RequestURIElement implements AccessLogElement
Inner Class :protected class LocalServerNameElement implements AccessLogElement
Inner Class :protected class StringElement implements AccessLogElement
Inner Class :protected class HeaderElement implements AccessLogElement
Inner Class :protected class CookieElement implements AccessLogElement
Inner Class :protected class RequestAttributeElement implements AccessLogElement
Inner Class :protected class SessionAttributeElement implements AccessLogElement

Field Summary
protected  Stringcondition
     Are we doing conditional logging.
protected  FilecurrentLogFile
     The current log file we are writing to.
protected  booleanenabled
    
protected  StringfileDateFormat
     Date format to place in log file name.
protected  SimpleDateFormatfileDateFormatter
     A date formatter to format a Date into a date in the format "yyyy-MM-dd".
final protected static  Stringinfo
     The descriptive information about this implementation.
protected  LifecycleSupportlifecycle
     The lifecycle event support for this component.
protected  AccessLogElement[]logElements
     Array of AccessLogElement, they will be used to make log message.
final protected static  Stringmonths
     The set of month abbreviations for log messages.
protected  Stringpattern
     The pattern used to format our access log lines.
protected  Stringprefix
     The prefix that is added to log file filenames.
protected  booleanrotatable
    
protected  StringManagersm
     The string manager for this package.
protected  booleanstarted
    
protected  Stringsuffix
     The suffix that is added to log file filenames.
protected  PrintWriterwriter
     The PrintWriter to which we are currently logging, if any.


Method Summary
public  voidaddLifecycleListener(LifecycleListener listener)
     Add a lifecycle event listener to this component.
public  voidbackgroundProcess()
     Execute a periodic task, such as reloading, etc.
protected  AccessLogElement[]createLogElements()
    
public  LifecycleListener[]findLifecycleListeners()
     Get the lifecycle listeners associated with this lifecycle.
public  StringgetCondition()
     Return whether the attribute name to look for when performing conditional loggging.
public  StringgetDirectory()
     Return the directory in which we create log files.
public  booleangetEnabled()
    
public  StringgetFileDateFormat()
     Return the date format date based log rotation.
public  StringgetInfo()
     Return descriptive information about this implementation.
public  StringgetPattern()
     Return the format pattern.
public  StringgetPrefix()
     Return the log file prefix.
public  StringgetSuffix()
     Return the log file suffix.
public  voidinvoke(Request request, Response response)
     Log a message summarizing the specified request and response, according to the format specified by the pattern property.
public  booleanisBuffered()
    
public  booleanisCheckExists()
     Check for file existence before logging.
public  booleanisResolveHosts()
     Get the value of the resolve hosts flag.
public  booleanisRotatable()
    
public  voidlog(String message)
     Log the specified message to the log file, switching files if the date has changed since the previous log call.
protected synchronized  voidopen()
     Open the new log file for the date specified by dateStamp.
public  voidremoveLifecycleListener(LifecycleListener listener)
     Remove a lifecycle event listener from this component.
public synchronized  booleanrotate(String newFileName)
     Rename the existing log file to something else.
public  voidsetBuffered(boolean buffered)
    
public  voidsetCheckExists(boolean checkExists)
     Set whether to check for log file existence before logging.
public  voidsetCondition(String condition)
     Set the ServletRequest.attribute to look for to perform conditional logging.
public  voidsetDirectory(String directory)
     Set the directory in which we create log files.
public  voidsetEnabled(boolean enabled)
    
public  voidsetFileDateFormat(String fileDateFormat)
     Set the date format date based log rotation.
public  voidsetPattern(String pattern)
     Set the format pattern, first translating any recognized alias.
public  voidsetPrefix(String prefix)
     Set the log file prefix.
public  voidsetResolveHosts(boolean resolveHosts)
     Set the resolve hosts flag.
public  voidsetRotatable(boolean rotatable)
    
public  voidsetSuffix(String suffix)
     Set the log file suffix.
public  voidstart()
     Prepare for the beginning of active use of the public methods of this component.
public  voidstop()
     Gracefully terminate the active use of the public methods of this component.

Field Detail
condition
protected String condition(Code)
Are we doing conditional logging. default false.



currentLogFile
protected File currentLogFile(Code)
The current log file we are writing to. Helpful when checkExists is true.



enabled
protected boolean enabled(Code)
enabled this component



fileDateFormat
protected String fileDateFormat(Code)
Date format to place in log file name. Use at your own risk!



fileDateFormatter
protected SimpleDateFormat fileDateFormatter(Code)
A date formatter to format a Date into a date in the format "yyyy-MM-dd".



info
final protected static String info(Code)
The descriptive information about this implementation.



lifecycle
protected LifecycleSupport lifecycle(Code)
The lifecycle event support for this component.



logElements
protected AccessLogElement[] logElements(Code)
Array of AccessLogElement, they will be used to make log message.



months
final protected static String months(Code)
The set of month abbreviations for log messages.



pattern
protected String pattern(Code)
The pattern used to format our access log lines.



prefix
protected String prefix(Code)
The prefix that is added to log file filenames.



rotatable
protected boolean rotatable(Code)
Should we rotate our log file? Default is true (like old behavior)



sm
protected StringManager sm(Code)
The string manager for this package.



started
protected boolean started(Code)
Has this component been started yet?



suffix
protected String suffix(Code)
The suffix that is added to log file filenames.



writer
protected PrintWriter writer(Code)
The PrintWriter to which we are currently logging, if any.





Method Detail
addLifecycleListener
public void addLifecycleListener(LifecycleListener listener)(Code)
Add a lifecycle event listener to this component.
Parameters:
  listener - The listener to add



backgroundProcess
public void backgroundProcess()(Code)
Execute a periodic task, such as reloading, etc. This method will be invoked inside the classloading context of this container. Unexpected throwables will be caught and logged.



createLogElements
protected AccessLogElement[] createLogElements()(Code)
parse pattern string and create the array of AccessLogElement



findLifecycleListeners
public LifecycleListener[] findLifecycleListeners()(Code)
Get the lifecycle listeners associated with this lifecycle. If this Lifecycle has no listeners registered, a zero-length array is returned.



getCondition
public String getCondition()(Code)
Return whether the attribute name to look for when performing conditional loggging. If null, every request is logged.



getDirectory
public String getDirectory()(Code)
Return the directory in which we create log files.



getEnabled
public boolean getEnabled()(Code)
Returns the enabled.



getFileDateFormat
public String getFileDateFormat()(Code)
Return the date format date based log rotation.



getInfo
public String getInfo()(Code)
Return descriptive information about this implementation.



getPattern
public String getPattern()(Code)
Return the format pattern.



getPrefix
public String getPrefix()(Code)
Return the log file prefix.



getSuffix
public String getSuffix()(Code)
Return the log file suffix.



invoke
public void invoke(Request request, Response response) throws IOException, ServletException(Code)
Log a message summarizing the specified request and response, according to the format specified by the pattern property.
Parameters:
  request - Request being processed
Parameters:
  response - Response being processed
exception:
  IOException - if an input/output error has occurred
exception:
  ServletException - if a servlet error has occurred



isBuffered
public boolean isBuffered()(Code)
Is the logging buffered



isCheckExists
public boolean isCheckExists()(Code)
Check for file existence before logging.



isResolveHosts
public boolean isResolveHosts()(Code)
Get the value of the resolve hosts flag.



isRotatable
public boolean isRotatable()(Code)
Should we rotate the logs



log
public void log(String message)(Code)
Log the specified message to the log file, switching files if the date has changed since the previous log call.
Parameters:
  message - Message to be logged



open
protected synchronized void open()(Code)
Open the new log file for the date specified by dateStamp.



removeLifecycleListener
public void removeLifecycleListener(LifecycleListener listener)(Code)
Remove a lifecycle event listener from this component.
Parameters:
  listener - The listener to add



rotate
public synchronized boolean rotate(String newFileName)(Code)
Rename the existing log file to something else. Then open the old log file name up once again. Intended to be called by a JMX agent.
Parameters:
  newFileName - The file name to move the log file entry to true if a file was rotated with no error



setBuffered
public void setBuffered(boolean buffered)(Code)
Set the value if the logging should be buffered
Parameters:
  buffered - true if buffered.



setCheckExists
public void setCheckExists(boolean checkExists)(Code)
Set whether to check for log file existence before logging.
Parameters:
  checkExists - true meaning to check for file existence.



setCondition
public void setCondition(String condition)(Code)
Set the ServletRequest.attribute to look for to perform conditional logging. Set to null to log everything.
Parameters:
  condition - Set to null to log everything



setDirectory
public void setDirectory(String directory)(Code)
Set the directory in which we create log files.
Parameters:
  directory - The new log file directory



setEnabled
public void setEnabled(boolean enabled)(Code)

Parameters:
  enabled - The enabled to set.



setFileDateFormat
public void setFileDateFormat(String fileDateFormat)(Code)
Set the date format date based log rotation.



setPattern
public void setPattern(String pattern)(Code)
Set the format pattern, first translating any recognized alias.
Parameters:
  pattern - The new pattern



setPrefix
public void setPrefix(String prefix)(Code)
Set the log file prefix.
Parameters:
  prefix - The new log file prefix



setResolveHosts
public void setResolveHosts(boolean resolveHosts)(Code)
Set the resolve hosts flag.
Parameters:
  resolveHosts - The new resolve hosts value



setRotatable
public void setRotatable(boolean rotatable)(Code)
Set the value is we should we rotate the logs
Parameters:
  rotatable - true is we should rotate.



setSuffix
public void setSuffix(String suffix)(Code)
Set the log file suffix.
Parameters:
  suffix - The new log file suffix



start
public void start() throws LifecycleException(Code)
Prepare for the beginning of active use of the public methods of this component. This method should be called after configure(), and before any of the public methods of the component are utilized.
exception:
  LifecycleException - if this component detects a fatal errorthat prevents this component from being used



stop
public void stop() throws LifecycleException(Code)
Gracefully terminate the active use of the public methods of this component. This method should be the last one called on a given instance of this component.
exception:
  LifecycleException - if this component detects a fatal errorthat needs to be reported



Fields inherited from org.apache.catalina.valves.ValveBase
protected Container container(Code)(Java Doc)
protected Log containerLog(Code)(Java Doc)
protected ObjectName controller(Code)(Java Doc)
protected String domain(Code)(Java Doc)
protected static String info(Code)(Java Doc)
protected MBeanServer mserver(Code)(Java Doc)
protected Valve next(Code)(Java Doc)
protected ObjectName oname(Code)(Java Doc)
final protected static StringManager sm(Code)(Java Doc)

Methods inherited from org.apache.catalina.valves.ValveBase
public void backgroundProcess()(Code)(Java Doc)
public ObjectName createObjectName(String domain, ObjectName parent) throws MalformedObjectNameException(Code)(Java Doc)
public void event(Request request, Response response, CometEvent event) throws IOException, ServletException(Code)(Java Doc)
public Container getContainer()(Code)(Java Doc)
public ObjectName getContainerName()(Code)(Java Doc)
public ObjectName getController()(Code)(Java Doc)
public String getDomain()(Code)(Java Doc)
public String getInfo()(Code)(Java Doc)
public Valve getNext()(Code)(Java Doc)
public ObjectName getObjectName()(Code)(Java Doc)
public ObjectName getParentName(ObjectName valveName)(Code)(Java Doc)
abstract public void invoke(Request request, Response response) throws IOException, ServletException(Code)(Java Doc)
public void postDeregister()(Code)(Java Doc)
public void postRegister(Boolean registrationDone)(Code)(Java Doc)
public void preDeregister() throws Exception(Code)(Java Doc)
public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception(Code)(Java Doc)
public void setContainer(Container container)(Code)(Java Doc)
public void setController(ObjectName controller)(Code)(Java Doc)
public void setNext(Valve valve)(Code)(Java Doc)
public void setObjectName(ObjectName oname)(Code)(Java Doc)
public String toString()(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.