Improve Application Logging

  • use proper logging level for form validation errors
  • enhance MifosLogManager to allow overriding loggerconfiguration.xml using a file outside of the Mifos WAR
  • override should be additive if possible, otherwise the "external-to-war" logger configuration can be a complete override
  • Similar "external-to-war" overrides are performed in SpringUtil and FinancialInitializer, so see those classes for working examples
  • instead of using hardcoded JDBC parameters for the MifosJDBCAppender, use values as specified in LocalPropertiesFile
    • JDBC appender is not tested (and not known to be used), hence, should probably be removed
  • remove unnecessary calls to MifosLogManager.configure(). Example: TestAccountingRules#init() calls this method, but there is no need since TestAccountingRules extends MifosTestCase, and the static initializer for MifosTestCase ends up initializing logging
  • Mifos tries to write the app log to the current directory. This causes Mifos to crash on servers with decent security.
  • write documentation

Resources