commit 95c2aa378492977c669ba62b5ea07d6e872a2387
parent 98e5070357c38812b1c8c35a5cbc3efd51104994
Author: mtmn <miro@haravara.org>
Date: Mon, 13 Apr 2026 14:37:19 +0200
feat: improve logging
Diffstat:
4 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -17,6 +17,6 @@ result-*
server.js
client.js
server.log
-scrobbler.db*
-scorpus.db*
+*.db.wal
+*.db
.devenv
diff --git a/src/Log.purs b/src/Log.purs
@@ -57,9 +57,10 @@ logger :: Logger Effect LogMessage
logger = Logger \{ level, message } -> do
now <- nowDateTime
let ts = formatTimestamp now
- let sanitized = replaceAll (Pattern "\r\n") (Replacement " ") message
- # replaceAll (Pattern "\n") (Replacement " ")
- # replaceAll (Pattern "\r") (Replacement " ")
+ let
+ sanitized = replaceAll (Pattern "\r\n") (Replacement " ") message
+ # replaceAll (Pattern "\n") (Replacement " ")
+ # replaceAll (Pattern "\r") (Replacement " ")
Console.log $ "[" <> ts <> "] [" <> show level <> "] " <> sanitized
debug :: forall m. MonadEffect m => String -> m Unit
diff --git a/src/Main.purs b/src/Main.purs
@@ -196,8 +196,9 @@ lbSyncOnce conn username isSyncing initialSyncEnabled = do
run conn "BEGIN TRANSACTION" []
Tuple added (Tuple minTs hitCount) <- processListens listens
run conn "COMMIT" []
- when (added > 0 || initialSyncEnabled) $
- Log.info $ "ListenBrainz batch: added " <> show added <> ", " <> show hitCount <> " already present."
+ when (added > 0 || initialSyncEnabled)
+ $ Log.info
+ $ "ListenBrainz batch: added " <> show added <> ", " <> show hitCount <> " already present."
let allExist = hitCount == length listens && length listens > 0
if allExist || length listens == 0 || not initialSyncEnabled then do
when (added > 0) $ Log.info $ "ListenBrainz sync complete. Added " <> show added <> " new scrobbles."
@@ -265,8 +266,9 @@ lfSyncOnce conn apiKey lfmUser isSyncing initialSyncEnabled = do
run conn "BEGIN TRANSACTION" []
Tuple added hitCount <- processLastfmTracks tracks
run conn "COMMIT" []
- when (added > 0 || initialSyncEnabled) $
- Log.info $ "Last.fm page 1/" <> show totalPages <> ": added " <> show added <> ", " <> show hitCount <> " already present."
+ when (added > 0 || initialSyncEnabled)
+ $ Log.info
+ $ "Last.fm page 1/" <> show totalPages <> ": added " <> show added <> ", " <> show hitCount <> " already present."
let
validTracks = mapMaybe lastfmTrackToListen tracks
allExist = hitCount == length validTracks && length validTracks > 0
@@ -1263,5 +1265,4 @@ main = do
coverCacheEnabled = getEnvBool env "COVER_CACHE_ENABLED" true
initialSyncEnabled = getEnvBool env "INITIAL_SYNC" false
- when (username == "") $ Log.warn "LISTENBRAINZ_USER is not set — ListenBrainz syncing will be disabled"
startServer port dbFile username backupEnabled backupIntervalMs coverCacheEnabled initialSyncEnabled
diff --git a/src/S3.js b/src/S3.js
@@ -31,7 +31,12 @@ export const uploadToS3Impl =
cb(null)();
})
.catch((err) => {
- console.error(`S3: Upload failed for ${key}`, err);
+ const msg =
+ `S3: Upload failed for ${key} ${err.message || err}`.replace(
+ /\n/g,
+ " ",
+ );
+ console.error(msg);
cb(err)();
});
};
@@ -50,7 +55,12 @@ export const existsInS3Impl = (key) => (cb) => () => {
if (err.name === "NotFound" || err.$metadata?.httpStatusCode === 404) {
cb(false)();
} else {
- console.error(`S3: exists check failed for ${key}`, err);
+ const msg =
+ `S3: exists check failed for ${key} ${err.message || err}`.replace(
+ /\n/g,
+ " ",
+ );
+ console.error(msg);
cb(false)();
}
});