From 76703349e0c4f5e13dbc9cc2b254d5743de69c0f Mon Sep 17 00:00:00 2001 From: Ozan Gulle Date: Wed, 5 Feb 2025 22:11:02 +0100 Subject: [PATCH] feat: set log level from ui --- resources/templates/admin-preferences.html | 10 +++++++++- src/plauna/entry.clj | 4 ++-- src/plauna/markup.clj | 15 +++------------ src/plauna/server.clj | 7 +++++-- test/plauna/database_test.clj | 2 +- test/plauna/files_test.clj | 3 +-- test/plauna/parser_test.clj | 3 +-- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/resources/templates/admin-preferences.html b/resources/templates/admin-preferences.html index 1dd563e..a65f479 100644 --- a/resources/templates/admin-preferences.html +++ b/resources/templates/admin-preferences.html @@ -5,7 +5,7 @@

Preferences

-
+
@@ -15,6 +15,14 @@

Preferences

+
+ + +
diff --git a/src/plauna/entry.clj b/src/plauna/entry.clj index 8c40c1e..e7845ed 100644 --- a/src/plauna/entry.clj +++ b/src/plauna/entry.clj @@ -14,9 +14,8 @@ [plauna.core.events :as events]) (:gen-class)) -(tstreams/streams->telemere!) -(t/set-min-level! :info) (t/set-min-level! :slf4j "org.eclipse.jetty.server.*" :error) +(tstreams/streams->telemere!) (set! *warn-on-reflection* true) @@ -39,6 +38,7 @@ (defn -main [& args] (let [parsed-config (reduce (fn [acc val] (conj acc (parse-cli-arg val))) {} args)] + (t/set-min-level! (or (database/fetch-preference (name :log-level)) :info)) (files/set-custom-config-location! (:config-file parsed-config)) (files/check-and-create-database-file) (doseq [address (:addresses (:email (files/config)))] (database/add-to-my-addresses address)) diff --git a/src/plauna/markup.clj b/src/plauna/markup.clj index 76d2271..1282379 100644 --- a/src/plauna/markup.clj +++ b/src/plauna/markup.clj @@ -126,17 +126,6 @@ :tooltip {:field :count :type "quantitative"}}}] (render-file "statistics.html" {:statistics [{:type :bar-chart :header "Yearly Emails" :id "emails" :json-data (json/write-str vega-data)}]}))) -(defn email-training-page [emails categories languages page-info] - (let [page-size (:size page-info) - last-page {:last-page (if (= 0 page-size) 1 (quot (:total page-info) page-size))} - modified-emails (map #(update-in % [:header :date] timestamp->date) emails)] - (render-file "training-review.html" {:emails modified-emails :languages languages :categories categories :page (conj page-info last-page)}))) - -(defn email-new-training-page [emails categories languages page-info] - (let [last-page {:last-page (quot (:total page-info) (:size page-info))} - modified-emails (map #(update-in % [:header :date] timestamp->date) emails)] - (render-file "training-review.html" {:emails modified-emails :languages languages :categories categories :page (conj page-info last-page)}))) - (defn categories-page [categories] (render-file "admin-categories.html" {:categories categories})) (defn languages-admin-page [language-preferences] @@ -148,4 +137,6 @@ (defn watcher [client folders] (render-file "watcher.html" {:id (-> client first :id) :host (:host (first client)) :user (:user (first client)) :folders folders})) -(defn preferences-page [data] (render-file "admin-preferences.html" data)) +(defn preferences-page [data] (let [log-levels {:log-level-options [{:key :error :name "Error"} {:key :info :name "Info"} {:key :debug :name "Debug"}]}] + (println (conj data log-levels)) + (render-file "admin-preferences.html" (conj data log-levels)))) diff --git a/src/plauna/server.clj b/src/plauna/server.clj index 1c48667..d7dcc9d 100644 --- a/src/plauna/server.clj +++ b/src/plauna/server.clj @@ -219,12 +219,15 @@ (comp/GET "/admin/preferences" {} (let [language-datection-threshold (analysis/language-detection-threshold) - categorization-threshold (analysis/categorization-threshold)] - (success-html-with-body (markup/preferences-page {:language-detection-threshold language-datection-threshold :categorization-threshold categorization-threshold})))) + categorization-threshold (analysis/categorization-threshold) + log-level (or (db/fetch-preference (name :log-level)) :info)] + (success-html-with-body (markup/preferences-page {:language-detection-threshold language-datection-threshold :categorization-threshold categorization-threshold :log-level log-level})))) (comp/POST "/admin/preferences" request + (doseq [param (dissoc (:params request) :redirect-url)] (db/update-preference (first param) (second param))) + (t/set-min-level! (db/fetch-preference (name :log-level))) (redirect-request request)) (comp/POST "/admin/languages" {params :params} diff --git a/test/plauna/database_test.clj b/test/plauna/database_test.clj index 92e521d..a248b95 100644 --- a/test/plauna/database_test.clj +++ b/test/plauna/database_test.clj @@ -1,4 +1,4 @@ -(ns plauna.database_test +(ns plauna.database-test (:require [clojure.test :refer :all] [clojure.core.async :as async] [plauna.database :as db] diff --git a/test/plauna/files_test.clj b/test/plauna/files_test.clj index 0b36f3d..431c2dc 100644 --- a/test/plauna/files_test.clj +++ b/test/plauna/files_test.clj @@ -2,8 +2,7 @@ (:require [clojure.test :refer :all] [clojure.java.io :as io] [plauna.files :as files] - [plauna.messaging :refer [main-chan restart-main-chan]] - [clojure.core.async :refer [go is [resource-path] (io/input-stream (io/resource resource-path))) diff --git a/test/plauna/parser_test.clj b/test/plauna/parser_test.clj index 7faf542..edfa9c3 100644 --- a/test/plauna/parser_test.clj +++ b/test/plauna/parser_test.clj @@ -5,8 +5,7 @@ [plauna.files :as files] [plauna.util.async :as async-utils] [plauna.parser :as parser] - [clojure.core.async :refer [pub sub chan >!!] :as async] - [plauna.analysis :as analysis])) + [clojure.core.async :refer [pub sub chan >!!] :as async])) (defn resource->is [resource-path] (io/input-stream (io/resource resource-path)))