Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

使用MMAP写的日志

MMAP:MMAP基本概念

  • 1、直接映射文件到内存中,写文件如同写内存一样快速
  • 2、初始化映射文件为1M,如果超过,则自动进行以2倍于当前文件进行扩容,即 2M,4M,8M...
  • 3、定时分割日志文件(每日零晨1点)
  • 4、正常退出时,清除文件的占位符
win10(64bit 8G) linux子系统 
普通日志100W次写入需要耗时:18.01s
MMAP日志100W次定稿需要耗时:1.679s

问题

因为mmap的特性,导致服务一旦crash,则日志文件会遗留大量的占位符 目前不支持windows系统,使用一般的文件写入方式

注意事项

  • 一、直接使用写日志时,默认使用终端打印日志
  • 二、如果需要使用mmap来写日志,则需要调用文件exported.go中的SetPath()方法,指定日志文件
  • 三、日志打印级别默认为info,如果需要指定其他级别,则需要调用文件exported.go中的SetLevel()方法,重新设定日志级别
  • 四、具体可调用方法,参照:日志方法

About

使用mmap写的高性能日志

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages