@@ -29,6 +29,12 @@ import (
2929)
3030
3131var dbLogger = logging .MustGetLogger ("db" )
32+ var rocksDBLogLevelMap = map [string ]gorocksdb.InfoLogLevel {
33+ "debug" : gorocksdb .DebugInfoLogLevel ,
34+ "info" : gorocksdb .InfoInfoLogLevel ,
35+ "warn" : gorocksdb .WarnInfoLogLevel ,
36+ "error" : gorocksdb .ErrorInfoLogLevel ,
37+ "fatal" : gorocksdb .FatalInfoLogLevel }
3238
3339const blockchainCF = "blockchainCF"
3440const stateCF = "stateCF"
@@ -159,6 +165,26 @@ func (openchainDB *OpenchainDB) open() {
159165 opts := gorocksdb .NewDefaultOptions ()
160166 defer opts .Destroy ()
161167
168+ maxLogFileSize := viper .GetInt ("peer.db.maxLogFileSize" )
169+ if maxLogFileSize > 0 {
170+ dbLogger .Infof ("Setting rocksdb maxLogFileSize to %d" , maxLogFileSize )
171+ opts .SetMaxLogFileSize (maxLogFileSize )
172+ }
173+
174+ keepLogFileNum := viper .GetInt ("peer.db.keepLogFileNum" )
175+ if keepLogFileNum > 0 {
176+ dbLogger .Infof ("Setting rocksdb keepLogFileNum to %d" , keepLogFileNum )
177+ opts .SetKeepLogFileNum (keepLogFileNum )
178+ }
179+
180+ logLevelStr := viper .GetString ("peer.db.loglevel" )
181+ logLevel , ok := rocksDBLogLevelMap [logLevelStr ]
182+
183+ if ok {
184+ dbLogger .Infof ("Setting rocks db InfoLogLevel to %d" , logLevel )
185+ opts .SetInfoLogLevel (logLevel )
186+ }
187+
162188 opts .SetCreateIfMissing (missing )
163189 opts .SetCreateIfMissingColumnFamilies (true )
164190
0 commit comments