Dont use debug logging by default on web

This commit is contained in:
Jeremy Wall 2023-01-07 17:48:46 -05:00
parent 6d0aae2c92
commit 98f94b555c
5 changed files with 28 additions and 7 deletions

View File

@ -44,12 +44,26 @@
#root = (pkgs.callPackage gitignore { }).gitignoreSource ./.;
root = ./.;
});
kitchenWasmDebug = kitchenWasmGen {
inherit pkgs rust-wasm version;
features = "--features debug_logs";
};
kitchenDebug = (kitchenGen {
inherit pkgs version naersk-lib rust-wasm;
kitchenWasm = kitchenWasmDebug;
# Because it's a workspace we need the other crates available as source
# TODO(jwall): gitignoreSource is broken right now due to being impure.
#root = (pkgs.callPackage gitignore { }).gitignoreSource ./.;
root = ./.;
});
module = moduleGen {inherit kitchen;};
in
{
packages = {
inherit kitchenWasm
kitchen
kitchenWasmDebug
kitchenDebug
;
};
defaultPackage = kitchen;

View File

@ -1,5 +1,6 @@
{pkgs? (import <nixpkgs>) {},
version ? "0.2.1",
features ? "",
rust-wasm,
}:
with pkgs;
@ -35,7 +36,8 @@ stdenv.mkDerivation {
mkdir -p $out
cd web
cp -r static $out
RUST_LOG=info wasm-pack build --mode no-install --release --target web --out-dir $out;
RUST_LOG=info wasm-pack build --mode no-install --release --target web --out-dir $out ${features};
cp -r index.html $out
cp -r favicon.ico $out
'';
}

2
run.sh
View File

@ -13,5 +13,5 @@
# limitations under the License.
EXAMPLES=${EXAMPLES:-../examples}
echo Starting api server serving ${EXAMPLES}
nix run .\#kitchen -- --verbose debug serve --dir ${EXAMPLES} --tls --cert ~/tls-certs/localhost+2.pem --cert_key ~/tls-certs/localhost+2-key.pem
nix run .\#kitchenDebug -- --verbose debug serve --dir ${EXAMPLES} --tls --cert ~/tls-certs/localhost+2.pem --cert_key ~/tls-certs/localhost+2-key.pem
# This is ghetto but I'm doing it anyway

View File

@ -7,6 +7,7 @@ edition = "2021"
ssr = []
web = []
default = ["web"]
debug_logs = []
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]

View File

@ -26,19 +26,23 @@ use web::UI;
fn configure_tracing() {
console_error_panic_hook::set_once();
use tracing_subscriber::fmt::format::Pretty;
use tracing_subscriber::prelude::*;
use tracing::Level;
use tracing_subscriber::{filter::LevelFilter, fmt::format::Pretty, prelude::*};
use tracing_web::{performance_layer, MakeConsoleWriter};
let fmt_layer = tracing_subscriber::fmt::layer()
.with_ansi(false)
.without_time()
//.with_timer(UtcTime::rfc_3339()) // std::time is not available in browsers
.with_writer(MakeConsoleWriter); // write events to the console
.with_writer(MakeConsoleWriter) // write events to the console
.with_filter(LevelFilter::from(if cfg!(feature = "debug_logs") {
Level::DEBUG
} else {
Level::INFO
}));
let perf_layer = performance_layer().with_details_from_fields(Pretty::default());
tracing_subscriber::registry()
.with(fmt_layer)
.with(perf_layer)
.with(fmt_layer)
.init();
}