use crate::{sys::*, utils::ensure_end_with_zero};
use std::ptr::null;
#[repr(u32)]
#[derive(Copy, Clone, PartialEq, Eq)]
pub enum LogLevel {
Error = E_ERROR,
Warning = E_WARNING,
Notice = E_NOTICE,
Deprecated = E_DEPRECATED,
}
pub fn log(level: LogLevel, message: impl Into<String>) {
let message = ensure_end_with_zero(message);
unsafe {
php_error_docref1(
null(),
c"".as_ptr().cast(),
level as i32,
message.as_ptr().cast(),
);
}
}
#[allow(clippy::useless_conversion)]
pub fn echo(message: impl Into<String>) {
let message = ensure_end_with_zero(message);
unsafe {
zend_write.expect("function zend_write can't be null")(
message.as_ptr().cast(),
message.as_bytes().len().try_into().unwrap(),
);
}
}