Packages

Burrito is our answer to the problem of distributing Elixir applications across varied environments. Turn your Elixir application into a simple, self-contained, single-file executable for MacOS, Linux, and Windows.

Current section

Files

Jump to
burrito src logger.zig
Raw

src/logger.zig

const std = @import("std");
var log = std.log;
var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
var allocator = arena.allocator();
pub fn query(comptime message: []const u8, args: anytype) void {
var stdout = std.io.getStdOut().writer();
const out_string = std.fmt.allocPrint(allocator, message, args) catch {
return;
};
stdout.print("[?] {s}", .{out_string}) catch {};
}
pub fn log_stderr(comptime message: []const u8, args: anytype) void {
var stderr = std.io.getStdErr().writer();
const out_string = std.fmt.allocPrint(allocator, message, args) catch {
return;
};
stderr.print("[l] {s}\n", .{out_string}) catch {};
}
pub fn info(comptime message: []const u8, args: anytype) void {
var stdout = std.io.getStdOut().writer();
const out_string = std.fmt.allocPrint(allocator, message, args) catch {
return;
};
stdout.print("[i] {s}\n", .{out_string}) catch {};
}
pub fn warn(comptime message: []const u8, args: anytype) void {
var stderr = std.io.getStdErr().writer();
const out_string = std.fmt.allocPrint(allocator, message, args) catch {
return;
};
stderr.print("[w] {s}\n", .{out_string}) catch {};
}
pub fn err(comptime message: []const u8, args: anytype) void {
var stderr = std.io.getStdErr().writer();
const out_string = std.fmt.allocPrint(allocator, message, args) catch {
return;
};
stderr.print("[!] {s}\n", .{out_string}) catch {};
}
pub fn crit(comptime message: []const u8, args: anytype) void {
var stderr = std.io.getStdErr().writer();
const out_string = std.fmt.allocPrint(allocator, message, args) catch {
return;
};
stderr.print("[!!] {s}\n", .{out_string}) catch {};
}