WIP still, tuning up auth and room wildcard with middleware
This commit is contained in:
+18
-8
@@ -1,17 +1,27 @@
|
||||
import 'dart:developer' as dev;
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:dart_frog/dart_frog.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
Future<HttpServer> run(Handler handler, InternetAddress ip, int port) {
|
||||
// 1. Execute any custom code prior to starting the server...
|
||||
bool _listening = false;
|
||||
|
||||
final String logLevel = Platform.environment['LOG_LEVEL'] ?? 'INFO';
|
||||
Logger.root.level =
|
||||
Level.LEVELS.firstWhere((l) => l.name == logLevel, orElse: () => Level.INFO); // defaults to Level.INFO
|
||||
Logger.root.onRecord.listen((record) {
|
||||
stdout.writeln('${record.level.name}: ${record.time}: ${record.message}');
|
||||
});
|
||||
Future<HttpServer> run(Handler handler, InternetAddress ip, int port) async {
|
||||
final isDevelopment = (await dev.Service.getInfo()).serverUri != null;
|
||||
if (!_listening) {
|
||||
final logLevel = Platform.environment['LOG_LEVEL'] ?? (isDevelopment ? 'FINEST' : 'INFO');
|
||||
Logger.root.level =
|
||||
Level.LEVELS.firstWhere((l) => l.name == logLevel, orElse: () => Level.INFO); // defaults to Level.INFO
|
||||
Logger.root.onRecord.listen((record) {
|
||||
stdout.writeln('[${record.level.name}]:[${record.loggerName}] ${record.time}: ${record.message}');
|
||||
if (record.level.value >= Level.WARNING.value) {
|
||||
stdout.writeln(
|
||||
'[${record.level.name}]:[${record.loggerName}] ${record.error ?? "No error provided"}\n${record.stackTrace ?? "No trace provided"}',
|
||||
);
|
||||
}
|
||||
});
|
||||
_listening = true;
|
||||
}
|
||||
|
||||
return serve(handler, ip, port);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user