init method
Setup the appender. This needs to be called for every appender to configure the appender with the necessary data.
Implementation
@override
Future<void>? init(
Map<String, dynamic> config, bool test, DateTime? date) async {
created = date ?? DateTime.now();
type = AppenderType.MYSQL;
if (config.containsKey('level')) {
level = Level.fromString(config['level']);
} else {
level = Level.INFO;
}
if (config.containsKey('host')) {
host = config['host'];
} else {
throw ArgumentError('Missing host argument for MySqlAppender');
}
if (config.containsKey('user')) {
user = config['user'];
} else {
throw ArgumentError('Missing user argument for MySqlAppender');
}
if (config.containsKey('password')) {
password = config['password'];
}
if (config.containsKey('port')) {
port = config['port'];
} else {
throw ArgumentError('Missing port argument for MySqlAppender');
}
if (config.containsKey('database')) {
database = config['database'];
} else {
throw ArgumentError('Missing database argument for MySqlAppender');
}
if (config.containsKey('table')) {
table = config['table'];
} else {
throw ArgumentError('Missing table argument for MySqlAppender');
}
if (!test) {
_connectionSettings = ConnectionSettings(
host: host!,
port: port!,
user: user,
password: password,
db: database);
_connection = await MySqlConnection.connect(_connectionSettings);
}
return null;
}