[ https://issues.apache.org/jira/browse/HDFS-3680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13424180#comment-13424180 ]
Suresh Srinivas commented on HDFS-3680: --------------------------------------- Early comments: Existing LOG could handle different levels, such as trace, debug, info, warn etc. I understand we probably use info level logs now. Should we consider adding such levels to FSAccessLogger? Some comments: # FSAccessLogger.java #* Why call it FSAccessLogger and not AuditLogger? AuditLogger seems to be a more generic name. #* You cannot make this InterfaceAudience.Public given HdfsFileStatus and UserGroupInformation are not Public. #* Add InterfaceStability.Unstable to FSAccessLogger #* Remove from class javadoc implementation details about FSNamesystem registration etc. Also the note "... cannot influence the result" is unnecessary. #* "Called after an auth check is" is not relevant for method logAccess. "logAuditEvent" may be a more appropriate name. # FSNamesystem.java #* Do not catch blanket Exception. Instead catch the specific exception you want to handle. #* Make initializing accessLoggers into a separate method. #* Please add javadoc to FSAccessLogger#logAuditEvent() indicating the performance of this method can affect the system. The implementations must return quickly. #* Make DefaultAccessLogger class private # TestFSNameystem.java #* Please consider adding a separate test instead of adding this to TestFSNamesystem.java #* Mock may be better than TestAccessLogger implementation. If you still want to use TestAccessLogger make it private class. > Allows customized audit logging in HDFS FSNamesystem > ---------------------------------------------------- > > Key: HDFS-3680 > URL: https://issues.apache.org/jira/browse/HDFS-3680 > Project: Hadoop HDFS > Issue Type: Improvement > Components: name-node > Affects Versions: 2.0.0-alpha > Reporter: Marcelo Vanzin > Assignee: Marcelo Vanzin > Priority: Minor > Attachments: accesslogger-v1.patch, accesslogger-v2.patch, > hdfs-3680-v3.patch, hdfs-3680-v4.patch > > > Currently, FSNamesystem writes audit logs to a logger; that makes it easy to > get audit logs in some log file. But it makes it kinda tricky to store audit > logs in any other way (let's say a database), because it would require the > code to implement a log appender (and thus know what logging system is > actually being used underneath the façade), and parse the textual log message > generated by FSNamesystem. > I'm attaching a patch that introduces a cleaner interface for this use case. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira