Changeset e08487a


Ignore:
Timestamp:
Aug 5, 2017, 11:23:02 PM (7 years ago)
Author:
Jason Gross <jgross@mit.edu>
Children:
9410677
Parents:
4bbe53a
git-author:
Jason Gross <jgross@mit.edu> (07/12/11 12:34:46)
git-committer:
Jason Gross <jgross@mit.edu> (08/05/17 23:23:02)
Message:
Moved log generation code to perl.
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • logging.c

    r8a06468 re08487a  
    8181  }
    8282  return(1);
    83 }
    84 
    85 CALLER_OWN char *owl_log_zephyr(const owl_message *m)
    86 {
    87     char *tmp = NULL;
    88     GString *buffer = NULL;
    89     buffer = g_string_new("");
    90     tmp = short_zuser(owl_message_get_sender(m));
    91     g_string_append_printf(buffer, "Class: %s Instance: %s",
    92                            owl_message_get_class(m),
    93                            owl_message_get_instance(m));
    94     if (strcmp(owl_message_get_opcode(m), "")) {
    95       g_string_append_printf(buffer, " Opcode: %s",
    96                              owl_message_get_opcode(m));
    97     }
    98     g_string_append_printf(buffer, "\n");
    99     g_string_append_printf(buffer, "Time: %s Host: %s\n",
    100                            owl_message_get_timestr(m),
    101                            owl_message_get_hostname(m));
    102     g_string_append_printf(buffer, "From: %s <%s>\n\n",
    103                            owl_message_get_zsig(m), tmp);
    104     g_string_append_printf(buffer, "%s\n\n", owl_message_get_body(m));
    105     g_free(tmp);
    106     return g_string_free(buffer, FALSE);
    107 }
    108 
    109 CALLER_OWN char *owl_log_aim(const owl_message *m)
    110 {
    111     GString *buffer = NULL;
    112     buffer = g_string_new("");
    113     g_string_append_printf(buffer, "From: <%s> To: <%s>\n",
    114                            owl_message_get_sender(m), owl_message_get_recipient(m));
    115     g_string_append_printf(buffer, "Time: %s\n\n",
    116                            owl_message_get_timestr(m));
    117     if (owl_message_is_login(m)) {
    118         g_string_append_printf(buffer, "LOGIN\n\n");
    119     } else if (owl_message_is_logout(m)) {
    120         g_string_append_printf(buffer, "LOGOUT\n\n");
    121     } else {
    122         g_string_append_printf(buffer, "%s\n\n", owl_message_get_body(m));
    123     }
    124     return g_string_free(buffer, FALSE);
    125 }
    126 
    127 CALLER_OWN char *owl_log_jabber(const owl_message *m)
    128 {
    129     GString *buffer = NULL;
    130     buffer = g_string_new("");
    131     g_string_append_printf(buffer, "From: <%s> To: <%s>\n",
    132                            owl_message_get_sender(m),
    133                            owl_message_get_recipient(m));
    134     g_string_append_printf(buffer, "Time: %s\n\n",
    135                            owl_message_get_timestr(m));
    136     g_string_append_printf(buffer, "%s\n\n", owl_message_get_body(m));
    137     return g_string_free(buffer, FALSE);
    138 }
    139 
    140 CALLER_OWN char *owl_log_generic(const owl_message *m)
    141 {
    142     GString *buffer;
    143     buffer = g_string_new("");
    144     g_string_append_printf(buffer, "From: <%s> To: <%s>\n",
    145                            owl_message_get_sender(m),
    146                            owl_message_get_recipient(m));
    147     g_string_append_printf(buffer, "Time: %s\n\n",
    148                            owl_message_get_timestr(m));
    149     g_string_append_printf(buffer, "%s\n\n",
    150                            owl_message_get_body(m));
    151     return g_string_free(buffer, FALSE);
    15283}
    15384
     
    380311
    381312void owl_log_append(const owl_message *m, const char *filename) {
    382   char *buffer = NULL;
    383   if (owl_message_is_type_zephyr(m)) {
    384     buffer = owl_log_zephyr(m);
    385   } else if (owl_message_is_type_jabber(m)) {
    386     buffer = owl_log_jabber(m);
    387   } else if (owl_message_is_type_aim(m)) {
    388     buffer = owl_log_aim(m);
    389   } else {
    390     buffer = owl_log_generic(m);
    391   }
     313  char *buffer = owl_perlconfig_message_call_method(m, "log", 0, NULL);
    392314  owl_log_enqueue_message(buffer, filename);
    393315  g_free(buffer);
  • perl/lib/BarnOwl/Message.pm

    r0adbce1 re08487a  
    115115    }
    116116    return $s;
     117}
     118
     119=head2 log MESSAGE
     120
     121Returns the text that should be written to a file to log C<MESSAGE>.
     122
     123=cut
     124
     125sub log {
     126    my ($m) = @_;
     127    return $m->log_header . "\n\n" . $m->log_body . "\n\n";
     128}
     129
     130=head2 log_header MESSAGE
     131
     132Returns the header of the message, for logging purposes.
     133If you override L<BarnOwl::Message::log>, this method is not called.
     134
     135=cut
     136
     137sub log_header {
     138    my ($m) = @_;
     139    my $sender = $m->sender;
     140    my $recipient = $m->recipient;
     141    my $timestr = $m->time;
     142    return "From: <$sender> To: <$recipient>\n"
     143         . "Time: $timestr";
     144}
     145
     146=head2 log_body MESSAGE
     147
     148Returns the body of the message, for logging purposes.
     149If you override L<BarnOwl::Message::log>, this method is not called.
     150
     151=cut
     152
     153sub log_body {
     154    my ($m) = @_;
     155    if ($m->is_loginout) {
     156        return uc($m->login)
     157            . $m->login_type
     158            . ($m->login_extra ? ' at ' . $m->login_extra : '');
     159    } else {
     160        return $m->body;
     161    }
    117162}
    118163
  • perl/lib/BarnOwl/Message/Zephyr.pm

    r0adbce1 re08487a  
    223223}
    224224
     225# Logging
     226sub log_header {
     227    my ($m) = @_;
     228    my $class = $m->class;
     229    my $instance = $m->instance;
     230    my $opcode = $m->opcode;
     231    my $timestr = $m->time;
     232    my $host = $m->host;
     233    my $sender = $m->pretty_sender;
     234    my $zsig = $m->zsig;
     235    my $rtn = "Class: $class Instance: $instance";
     236    $rtn .= " Opcode: $opcode" unless !defined $opcode || $opcode eq '';
     237    $rtn .= "\nTime: $timestr Host: $host"
     238          . "\nFrom: $zsig <$sender>";
     239    return $rtn;
     240}
    225241
    2262421;
Note: See TracChangeset for help on using the changeset viewer.