
[ http://jira.qos.ch/browse/LBCLASSIC-188?page=com.atlassian.jira.plugin.syste... ] Ceki Gulcu commented on LBCLASSIC-188: -------------------------------------- I just pulled in git://github.com/nurkiewicz/logback.git. Cool. The tests using hsqldb pass which is nice. However, for other databases the tests are active on one particular machine called Orion which I currently can't access. I'll run the integration test later on. Coming back to the contribution itself, I think it would be preferable to reduce DBNameResolver to something like: public interface DBNameResolver { <E extends Enum<?>> String getTableName(E e); <E extends Enum<?>> String getColumnName(E e); } This way you can still invoke methods using enums (without converting to string). Moreover, a single enum could work for all column and table names. WDYT?
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