// domain logging void domain_log_file(string file, string message) { string *path, logpath; // extract domain name path = explode( file_name(previous_object()), "/" ); if (path && path[0] == "d") { // does domain have its own log directory? logpath = sprintf("/d/%s/logs/", path[1]); if (file_size(logpath) == -2) { seteuid(geteuid(previous_object())); logpath += file; // make sure target logfile path isn't a directory if (file_size(logpath) != -2) { // append to logfile (create if necessary) write_file(logpath, message); } } } }