Improve log url configuration
This commit is contained in:
parent
14f06072ad
commit
3fa699e9bf
@ -9,16 +9,28 @@ struct Config: Codable {
|
||||
let maxBodySize: String
|
||||
|
||||
/// The path to the folder where the metric logs are stored
|
||||
let logPath: String
|
||||
///
|
||||
/// If no path is provided, then a folder `logs` in the resources directory is created
|
||||
/// If the path is relative, then it is assumed relative to the resources directory
|
||||
let logPath: String?
|
||||
|
||||
/// Serve files in the Public directory using Vapor
|
||||
let serveFiles: Bool
|
||||
|
||||
/// Authentication tokens for remotes allowed to write
|
||||
let writers: [String]
|
||||
|
||||
var logURL: URL {
|
||||
.init(fileURLWithPath: logPath)
|
||||
|
||||
func logURL(possiblyRelativeTo resourcesDirectory: URL) -> URL {
|
||||
guard let logPath else {
|
||||
return resourcesDirectory.appendingPathComponent("logs")
|
||||
}
|
||||
guard !logPath.hasPrefix("/") else {
|
||||
return .init(fileURLWithPath: logPath)
|
||||
}
|
||||
guard #available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) else {
|
||||
return resourcesDirectory.appendingPathComponent(logPath)
|
||||
}
|
||||
return resourcesDirectory.appending(path: logPath)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,8 @@ public func configure(_ app: Application) throws {
|
||||
let config = Config(loadFrom: resourceDirectory)
|
||||
let authenticator = Authenticator(writers: config.writers)
|
||||
|
||||
let monitor = MetricObserver(logFileFolder: config.logURL, logMetricId: "caps.log")
|
||||
let logURL = config.logURL(possiblyRelativeTo: resourceDirectory)
|
||||
let monitor = MetricObserver(logFileFolder: logURL, logMetricId: "caps.log")
|
||||
MetricObserver.standard = monitor
|
||||
|
||||
serverStatus = Metric<ServerStatus>("caps.status",
|
||||
|
Loading…
Reference in New Issue
Block a user