code: func (l DefaultLogger) DMLog(level int, file string, line, dmError int, message string) {
  	if level <= l.Level {
  		// Forward the log to the correct logrus level, if allowed by dmLogLevel.
  		logMsg := fmt.Sprintf("libdevmapper(%d): %s:%d (%d) %s", level, file, line, dmError, message)
  		switch level {
  		case LogLevelFatal, LogLevelErr:
  			logrus.Error(logMsg)
  		case LogLevelWarn:
  			logrus.Warn(logMsg)
  		case LogLevelNotice, LogLevelInfo:
  			logrus.Info(logMsg)
  		case LogLevelDebug:
  			logrus.Debug(logMsg)
  		default:
  			// Don't drop any "unknown" levels.
  			logrus.Info(logMsg)
  		}
  	}
  }
docs: // DMLog is the logging callback containing all of the information from
  // devicemapper. The interface is identical to the C libdm counterpart.