Skip to content

Commit

Permalink
[game] Add file logging
Browse files Browse the repository at this point in the history
  • Loading branch information
Drewol committed Oct 20, 2024
1 parent 6208a0f commit 73320fa
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 8 deletions.
39 changes: 38 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 7 additions & 2 deletions game/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ once_cell = "1"
walkdir = "*"
rfd = "*"
log = { workspace = true }
simple_logger = { workspace = true }
uuid = { version = "1.2.2", features = ["serde"] }
poll-promise = { git = "https://github.com/EmbarkStudios/poll-promise", features = [
"tokio",
Expand Down Expand Up @@ -94,7 +93,13 @@ schemars = "0.8.21"
futures-util = "0.3.30"
specta = { version = "1.0.5", features = ["export"] }
statrs = "0.17.1"
chrono = { version = "0.4.38", default-features = false, features = ["alloc", "clock", "now", "std"] }
chrono = { version = "0.4.38", default-features = false, features = [
"alloc",
"clock",
"now",
"std",
] }
log4rs = { version = "1.3.0", features = ["console_appender", "file_appender", "pattern_encoder", "console_writer"], default-features = false }

[dependencies.winit]
version = "0.29"
Expand Down
1 change: 0 additions & 1 deletion game/rusc_database/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,6 @@ impl LocalSongsDb {
SortDir::Desc => query_builder.push(" DESC"),
};

println!("{}", query_builder.sql());
let mut q = query_builder.build_query_scalar();
for ele in binds {
q = q.bind(ele);
Expand Down
4 changes: 2 additions & 2 deletions game/src/game.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ use kson_rodio_sources::{
owned_source::{self, owned_source},
};

use log::warn;
use log::{info, warn};
use puffin::{profile_function, profile_scope};
use rodio::{dynamic_mixer::DynamicMixerController, source::Buffered, Decoder, Source};
use std::{
Expand Down Expand Up @@ -1677,6 +1677,7 @@ impl Scene for Game {
self.camera
.update(vec2(viewport.width as f32, viewport.height as f32));
if self.intro_done && !self.playback.is_playing() {
info!("Starting playback");
self.zero_time = SystemTime::now() + LEADIN;
if !self.playback.play() {
log::error!("Could not play audio");
Expand Down Expand Up @@ -2031,7 +2032,6 @@ impl Scene for Game {

let delta = ms - time;
let abs_delta = Duration::from_secs_f64(delta.abs() / 1000.0);
log::info!("Hit delta: {}", delta);

hit_rating = if abs_delta <= perfect {
HitRating::Crit { tick, delta, time }
Expand Down
33 changes: 31 additions & 2 deletions game/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -368,9 +368,38 @@ pub const FRAME_ACC_SIZE: usize = 16;

struct LuaArena(Vec<Rc<Lua>>);

fn main() -> anyhow::Result<()> {
simple_logger::init_with_level(Level::Info)?;
fn get_log_config(level: log::LevelFilter) -> log4rs::Config {
use log4rs::append::file::FileAppender;
use log4rs::config::*;
use log4rs::encode::pattern::PatternEncoder;
let encoder = PatternEncoder::new("[{d(%Y-%m-%d %H:%M:%S)}] [{h({l})}] [{t}] {m}{n}");
let stdout = log4rs::append::console::ConsoleAppender::builder()
.encoder(Box::new(encoder.clone()))
.build();

let mut log_path = default_game_dir();
log_path.push("game.log");
let file = FileAppender::builder()
.append(false)
.encoder(Box::new(encoder))
.build(log_path)
.expect("Failed to create file logger");

log4rs::Config::builder()
.appender(Appender::builder().build("stdout", Box::new(stdout)))
.appender(Appender::builder().build("file", Box::new(file)))
.build(
log4rs::config::Root::builder()
.appender("file")
.appender("stdout")
.build(level),
)
.expect("Failed to build log config")
}

fn main() -> anyhow::Result<()> {
let _logger_handle =
log4rs::init_config(get_log_config(LevelFilter::Info)).expect("Failed to get logger");
let mut config_path = default_game_dir();
config_path.push("Main.cfg");
let args = Args::parse();
Expand Down

0 comments on commit 73320fa

Please sign in to comment.