If org.apache.juli.FileHandler is created programmatically with parametrized constructor public FileHandler(String directory, String prefix, String suffix) , FileHandler ignores custom constructor parameters, creates log handler with default configuration and writes log file to "${catalina_home}/bin/logs" with the name "juli.YYYY-MM-DD.log" (YYYY, MM and DD are substituted with actual year, month and date) It looks like the problem is in the fact parametrized constructor calls default constructor. Default constructor in turn performs handler configuration from LogManager properties and creates a log file based on this default configuration. This makes custom constructor parameters effectively ignored.
This has been fixed in SVN and will be included in 5.5.21 onwards.