perf(auth): use batch flush & async way to output log by imbajin · Pull Request #1448 · apache/hugegraph

@imbajin

More details refer to [doc](xx), here are some points:
1. change log4j2 appender  to `RandomAccessFile` to improve perf (default is BufferedOutputStream)
2. change log4j2 to not flush immediately  (default is true)
3. use bigger (512K) buffer size (default is 4k)
4. use (LMAX Disruptor) async way to improve log perf (default is sync)
5. separate audit log & server log to keep sever log clean & readable
6. use simple layout format for audit log
7. use `StringBuilder` to reduce about `9%` cost for audit log
8. record mysql connection url info for user issue

javeme

@imbajin

javeme

@imbajin

javeme

javeme previously approved these changes May 17, 2021

@imbajin

@Linary Linary deleted the enhance-log4j-perf branch

May 18, 2021 05:37

@javeme javeme changed the title refact: use batch flush & async way to output log perf(auth): use batch flush & async way to output log

May 20, 2021