# pine ![](./pine.svg) [![Package Version](https://img.shields.io/hexpm/v/pine)](https://hex.pm/packages/timber) [![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/pine/) ```sh gleam add pine ``` ```gleam import pine pub fn main() { // The defaults work out of the box. // This will print a line to the console. pine.new() |> pine.info("hello world!") // info hello world! // Pine is configurable! pine.new() // You can set the level. |> pine.set_level(pine.level_info()) // As well as the format. |> pine.set_format(pine.format_json()) // And finally, the transport! |> pine.set_transport(pine.transport_file("logs.txt")) // Different log functions are on the pine module. pine.new() // You have access to "debug" logs |> pine.debug("debug message") // As well as 'info' logs |> pine.info("info message") // As well as 'warn' logs |> pine.warn("warn message") // As well as 'err' logs |> pine.err("err message") // You can add attributes to loggers as needed. // This is especially useful for telemetry and tracing. pine.new() // Such as strings |> pine.with_string("version", "v1.0.2") // Or ints |> pine.with_int("page_views", 69) // Or floats |> pine.with_float("opacity", 0.89) // or bools |> pine.with_bool("checked_balance", False) // then see them all in action |> pine.info("hello world!") // info hello world! version=v1.0.2 page_views=69 opacity=0.89 checked_balance=False } ``` Further documentation can be found at . ## Development ```sh gleam run # Run the project gleam test # Run the tests ```