(* COCANWIKI - a wiki written in Objective CAML.
* Written by Richard W.M. Jones <rich@merjis.com>.
* Copyright (C) 2004 Merjis Ltd.
- * $Id: crash.ml,v 1.1 2004/10/09 15:01:58 rich Exp $
+ * $Id: crash.ml,v 1.4 2005/03/31 14:24:04 rich Exp $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
open Cocanwiki_template
open Cocanwiki_server_settings
-let run r (q : cgi) (dbh : Dbi.connection) hostid _ _ =
+let run r (q : cgi) (dbh : Dbi.connection) hostid
+ { canonical_hostname = canonical_hostname } _ =
let template = get_template dbh hostid "crash.html" in
let crash_email = server_settings_crash_email dbh in
+ (* Get the current time and write it into the logs. *)
+ let time = Unix.gmtime (Unix.time ()) in
+ let time =
+ sprintf "%04d/%02d/%02d %02d:%02d:%02d"
+ (time.Unix.tm_year + 1900) (time.Unix.tm_mon + 1) time.Unix.tm_mday
+ time.Unix.tm_hour time.Unix.tm_min time.Unix.tm_sec in
+
+ prerr_endline ("crash: " ^ time);
+
(* Send a feedback email to the designated address if
* server_settings.crash_email is set.
*)
match crash_email with
None -> false
| Some email ->
- (* Get the current time and write it into the logs. *)
- let time = Unix.gmtime (Unix.time ()) in
- let time =
- sprintf "%04d/%02d/%02d %02d:%02d:%02d"
- (time.Unix.tm_year + 1900) (time.Unix.tm_mon + 1) time.Unix.tm_mday
- time.Unix.tm_hour time.Unix.tm_min time.Unix.tm_sec in
-
- prerr_endline ("crash: " ^ time);
-
let subject =
"Crash notify: There was a 500 internal server error" in
let body = "Crash at " ^ time ^ "\n" ^
+ "Hostname is " ^ canonical_hostname ^ "\n" ^
"Please see the error log for details." in
- Sendmail.send_mail ~subject ~body ~to_addr:[email] ();
+ Sendmail.send_mail ~subject ~to_addr:[email] body;
true in