ossp-pkg/l2/l2_test.c
1.3
/*
** L2 - OSSP Logging Library
** Copyright (c) 2001 The OSSP Project (http://www.ossp.org/)
** Copyright (c) 2001 Cable & Wireless Deutschland (http://www.cw.com/de/)
**
** This file is part of OSSP L2, a flexible logging library which
** can be found at http://www.ossp.com/pkg/l2/.
**
** Permission to use, copy, modify, and distribute this software for
** any purpose with or without fee is hereby granted, provided that
** the above copyright notice and this permission notice appear in all
** copies.
**
** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
** SUCH DAMAGE.
**
** l2_test.c: C API test suite
*/
#include <stdio.h>
#include "l2.h"
int main(int argc, char *argv[])
{
l2_channel_t* log_channel;
l2_stream_t* log_stream;
/* Create the channel. */
setbuf(stdout, 0);
printf("Creating channel ... ");
log_channel = l2_channel_create(&l2_handler_syslog);
if (log_channel == 0)
{
fprintf(stderr, "Can't create my log channel!\n");
return 1;
}
printf("done\n");
/* Create the stream and attach the channel to it. */
printf("Creating stream ... ");
log_stream = l2_stream_create();
if (log_stream == 0)
{
fprintf(stderr, "Can't create my log stream!\n");
return 1;
}
printf("done\n");
printf("Attaching channel to stream ... ");
if (!l2_stream_channel(log_stream, log_channel, -1))
{
fprintf(stderr, "Can't attach channel to log stream!\n");
return 1;
}
printf("done\n");
/* Log an example message. */
printf("Writing log message ... ");
l2_stream_log(log_stream, -1, "%cstream = 0x%lx, channel = 0x%lx%c", '"', log_stream, log_channel, '"');
printf("done\n");
/* Clean up. */
printf("Destroying stream ... ");
l2_stream_destroy(log_stream);
printf("done\n");
return 0;
}