Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Default
-
Resolution: Won't Fix
-
Affects Version/s: 1.2.1
-
Fix Version/s: None
-
Component/s: Engine
-
Labels:None
Description
I am not sure this is part of 1.3 but I don't think so.
It would be nice if the FileStore class uses commons-logging, log4j or slf4j for outputing the message log to a file. This way we could manage the log files the same way we manage our application logs. For example, it would be interesting in a production environment to be able to use a DailyRollingFileAppender to prevent the file from growing too much. We would also benefit from all formatting options such as timestamps in the platform timezone that are easier to read than the time in the header of the message (which may be in a different timezone depending on the other party).
André,
Thanks for your comments. Again, if you have a specific place where a stack trace would have been useful to debug your application or to track down problems in QFJ and it wasn't provided, I'll most likely add the stack trace. However, I won't add stack traces for every exception. I've explained why some of these stack traces are not useful. This would only add needless noise to the log file. The fact that's it's so easy to add this noise is more of a problem than a feature, in my opinion.
Where did you see the NullPointerException without the stack trace? Did the exception arise in QFJ or in your application callbacks?
As you know, the logging approach in QFJ is based on the logging API of the QuickFIX JNI code which was obviously not based on Log4J or any other Java logging provider. If I were writing a Java FIX engine from the ground up I wouldn't use the same design. I also still wouldn't use Log4J directly since various libraries use different logging providers. I'd base it on something like SLF4J or Commons Logging.