[logback-dev] [JIRA] Commented: (LBCLASSIC-188) Make table and column names overridable

Tomasz Nurkiewicz (JIRA) noreply-jira at qos.ch
Sun Mar 28 21:03:17 CEST 2010


    [ http://jira.qos.ch/browse/LBCLASSIC-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11691#action_11691 ] 

Tomasz Nurkiewicz commented on LBCLASSIC-188:
---------------------------------------------

OK, I merged ceki/logback master branch with my fork and refactored the code according to Your suggestions. In my fork you will also find:
* SimpleDBNameResolver resolver that adds simple prefix/suffix capabilities
* Bugfix to CustomDBNameResolver - the implementation uses Map<String, String>, but the map is browsed using enum keys, not enum string representations. I added many unit tests, one of them revealed this bug.
* Few lines of Javadocs

Go ahead if You would like to merge my contribution into 0.9.20.

> Make table and column names overridable
> ---------------------------------------
>
>                 Key: LBCLASSIC-188
>                 URL: http://jira.qos.ch/browse/LBCLASSIC-188
>             Project: logback-classic
>          Issue Type: Sub-task
>          Components: appender
>    Affects Versions: 0.9.18
>            Reporter: Ceki Gulcu
>            Assignee: Logback dev list
>
> To comply with local project rules, it can be helpful if the table and column names used by DBAppender could be overridden. The easiest way to solve this problem is for  DBAppender  to delegate the resolution of table names and columns to a different class, say DBNameResolver. Here is a possible interface:
> interface DBNameResolver {
>   String getTableName(String standardTableName);
>   String getColumnName(String standardColumnName);
> }
> The default implementation of DBNameResolver could be:
> class DefaulDBNameResolver implements DBNameResolver {
>   public String getTableName(String standardTableName) {
>     if("logging_event".equals(standardTableName) {
>       return standardTableName;
>     }
>     if("logging_event_property".equals(standardTableName) {
>       return standardTableName;
>     }
>     if("logging_event_exception".equals(standardTableName) {
>       return standardTableName;
>     }
>     throw new IllegalArgumentException(standardTableName + " is an unknown table name");
>   }
>   String getColumnName(String standardColumnName) {
>      ...
>   }
> }
> If a user wanted to use different names she would simply implement DBNameResolver according to her requirements.
> Any volunteers to implement this?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the logback-dev mailing list