#console-log #console #log #logging #wasm #proc-macro #define

macro weblog-proc-macro

weblog is a crate that defines a set of macros for calling console.log() and other members of the browser’s console API when targeting Wasm

4 releases

0.4.0-beta.1 Nov 13, 2020
0.3.0 Oct 19, 2020
0.3.0-beta.1 Oct 2, 2020

#15 in #console-log

Download history 249/week @ 2024-01-03 334/week @ 2024-01-10 318/week @ 2024-01-17 292/week @ 2024-01-24 333/week @ 2024-01-31 264/week @ 2024-02-07 372/week @ 2024-02-14 301/week @ 2024-02-21 398/week @ 2024-02-28 349/week @ 2024-03-06 340/week @ 2024-03-13 332/week @ 2024-03-20 362/week @ 2024-03-27 414/week @ 2024-04-03 407/week @ 2024-04-10 347/week @ 2024-04-17

1,565 downloads per month
Used in weblog

MIT/Apache

13KB
341 lines

Weblog

Crates.io version docs.rs docs

weblog is a crate that defines a set of macros for calling console.log(), console.error() and other members of the browser's console API when targeting Wasm.

Features

  • Supports web-sys and stdweb backends with an identical public API
  • Support for variadic arguments on all calls
  • No stringification before sending to the browser - log entire objects and use the full introspective debugging power of the browser console.

Examples

A simple example.

console_log!("Hello world!");

Passing multiple arguments is fine too.

console_log!("Foo", "bar", "baz");

All of the common browser log levels are supported.

console_debug!("Just testing...");
console_warn!("...but then...");
console_error!("...something bad happened.");

It's possible to send more than just strings or &strs:

console_log!(
    "&str",
    "string".to_string(),
    1,
    2.0,
    3f32,
    true,
    false
);

When using web-sys crate the macros accept any value that implements the Into<JsValue> trait. See JsValue for more details.

No stringification is performed on the Rust side - so objects will be fully introspectable in the browser's console!

Usage

# Defaults to web-sys
weblog = "0.3.0"

# For stdweb:
weblog = { version = "0.3.0", default-features = false, features = ["std_web"] }

See the documentation for usage examples.

The crate currently exposes the following macros:

  • console_assert!
  • console_clear!
  • console_count!
  • console_count_reset!
  • console_debug!
  • console_dir!
  • console_dirxml!
  • console_error!
  • console_exception!
  • console_info!
  • console_log!
  • console_table!
  • console_time!
  • console_time_end!
  • console_time_stamp!
  • console_trace!
  • console_warn!

License

Licensed under MIT or Apache-2.


lib.rs:

weblog-proc-macro contains procedural macro definitions for the weblog crate. See its documentation for more information.

Dependencies

~1.5MB
~33K SLoC