On slow device got STRICT MODE exception:
D/StrictMode: StrictMode policy violation; ~duration=494 ms: android.os.StrictMode$StrictModeDiskWriteViolation: policy=87 violation=1
at android.os.StrictMode$AndroidBlockGuardPolicy.onWriteToDisk(StrictMode.java:732)
at dalvik.system.BlockGuard$WrappedFileSystem.write(BlockGuard.java:170)
at java.io.FileOutputStream.write(FileOutputStream.java:300)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:164)
at org.apache.log4j.helpers.QuietWriter.flush(QuietWriter.java:59)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:324)
at org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:276)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.debug(Category.java:260)
on the first logging operation in the main thread.
I'm using log4j with RollingFileAppender
.
Does it write to a file in main thread? That is weird in my opinion...
How can I force log4j
to write to a logfile from some other thread, not from main thread?