Home | History | Annotate | Download | only in isc

Lines Matching refs:channel

58  * This is the structure that holds each named channel.  A simple linked
59 * list chains all of the channels together, so an individual channel is
89 isc_logchannel_t *channel;
162 * Used when ISC_LOG_PRINTLEVEL is enabled for a channel.
200 * because its channel member is pointed to a channel that is created
215 const isc_logmodule_t *module, isc_logchannel_t *channel);
236 #define FACILITY(channel) (channel->destination.facility)
237 #define FILE_NAME(channel) (channel->destination.file.name)
238 #define FILE_STREAM(channel) (channel->destination.file.stream)
239 #define FILE_VERSIONS(channel) (channel->destination.file.versions)
240 #define FILE_SUFFIX(channel) (channel->destination.file.suffix)
241 #define FILE_MAXSIZE(channel) (channel->destination.file.maximum_size)
242 #define FILE_MAXREACHED(channel) (channel->destination.file.maximum_reached)
339 * Set the default category's channel to default_stderr,
343 default_channel.channel = ISC_LIST_HEAD(lcfg->channels);
435 isc_logchannel_t *channel;
456 while ((channel = ISC_LIST_HEAD(lcfg->channels)) != NULL) {
457 ISC_LIST_UNLINK(lcfg->channels, channel, link);
459 if (channel->type == ISC_LOG_TOFILE) {
461 * The filename for the channel may have ultimately
466 DE_CONST(FILE_NAME(channel), filename);
469 if (FILE_STREAM(channel) != NULL) {
470 (void)fclose(FILE_STREAM(channel));
474 isc_mem_free(mctx, channel->name);
475 isc_mem_put(mctx, channel, sizeof(*channel));
651 isc_logchannel_t *channel;
669 channel = isc_mem_get(mctx, sizeof(*channel));
671 channel->name = isc_mem_strdup(mctx, name);
673 channel->type = type;
674 channel->level = level;
675 channel->flags = flags;
676 ISC_LINK_INIT(channel, link);
680 FACILITY(channel) = destination->facility;
689 FILE_NAME(channel) = isc_mem_strdup(mctx,
691 FILE_STREAM(channel) = NULL;
692 FILE_VERSIONS(channel) = destination->file.versions;
693 FILE_SUFFIX(channel) = destination->file.suffix;
694 FILE_MAXSIZE(channel) = destination->file.maximum_size;
695 FILE_MAXREACHED(channel) = false;
699 FILE_NAME(channel) = NULL;
700 FILE_STREAM(channel) = destination->file.stream;
701 FILE_MAXSIZE(channel) = 0;
702 FILE_VERSIONS(channel) = ISC_LOG_ROLLNEVER;
703 FILE_SUFFIX(channel) = isc_log_rollsuffix_increment;
714 ISC_LIST_PREPEND(lcfg->channels, channel, link);
721 default_channel.channel = channel;
730 isc_logchannel_t *channel;
740 for (channel = ISC_LIST_HEAD(lcfg->channels); channel != NULL;
741 channel = ISC_LIST_NEXT(channel, link))
743 if (strcmp(name, channel->name) == 0) {
748 if (channel == NULL) {
753 assignchannel(lcfg, category->id, module, channel);
757 * the default channel.
760 assignchannel(lcfg, i, module, channel);
840 for (isc_logchannel_t *channel =
842 channel != NULL;
843 channel = ISC_LIST_NEXT(channel, link))
845 if (channel->type == ISC_LOG_TOFILE &&
846 (channel->flags & ISC_LOG_DEBUGONLY) != 0 &&
847 FILE_STREAM(channel) != NULL)
849 (void)fclose(FILE_STREAM(channel));
850 FILE_STREAM(channel) = NULL;
918 for (isc_logchannel_t *channel = ISC_LIST_HEAD(lcfg->channels);
919 channel != NULL; channel = ISC_LIST_NEXT(channel, link))
921 if (channel->type == ISC_LOG_TOFILE &&
922 FILE_STREAM(channel) != NULL)
924 (void)fclose(FILE_STREAM(channel));
925 FILE_STREAM(channel) = NULL;
939 const isc_logmodule_t *module, isc_logchannel_t *channel) {
949 REQUIRE(channel != NULL);
958 new_item->channel = channel;
964 * Remember the highest logging level set by any channel in the
966 * message is too high to be logged by any channel.
968 if (channel->type != ISC_LOG_TONULL) {
969 if (lcfg->highest_level < channel->level) {
970 lcfg->highest_level = channel->level;
972 if (channel->level == ISC_LOG_DYNAMIC) {
1408 isc_log_open(isc_logchannel_t *channel) {
1415 REQUIRE(channel->type == ISC_LOG_TOFILE);
1416 REQUIRE(FILE_STREAM(channel) == NULL);
1418 path = FILE_NAME(channel);
1430 if ((FILE_MAXSIZE(channel) == 0 &&
1431 FILE_VERSIONS(channel) != ISC_LOG_ROLLNEVER) ||
1432 (FILE_MAXSIZE(channel) > 0 &&
1433 statbuf.st_size >= FILE_MAXSIZE(channel)))
1448 if (FILE_VERSIONS(channel) == ISC_LOG_ROLLNEVER) {
1451 result = isc_logfile_roll(&channel->destination.file);
1453 if ((channel->flags & ISC_LOG_OPENERR) == 0) {
1457 FILE_NAME(channel),
1459 channel->flags |= ISC_LOG_OPENERR;
1465 result = isc_stdio_open(path, "a", &FILE_STREAM(channel));
1478 * highest_level, or if there is a dynamic channel and the level is
1514 isc_logchannel_t *channel;
1559 * If the channel list end was reached and a match was
1581 * internal default channel.
1596 channel = category_channels->channel;
1600 if (((channel->flags & ISC_LOG_DEBUGONLY) != 0) && dlevel == 0)
1605 if (channel->level == ISC_LOG_DYNAMIC) {
1609 } else if (channel->level < level) {
1613 if ((channel->flags & ISC_LOG_PRINTTIME) != 0 &&
1628 if ((channel->flags & ISC_LOG_PRINTLEVEL) != 0 &&
1752 utc = ((channel->flags & ISC_LOG_UTC) != 0);
1753 iso8601 = ((channel->flags & ISC_LOG_ISO8601) != 0);
1754 printtime = ((channel->flags & ISC_LOG_PRINTTIME) != 0);
1755 printtag = ((channel->flags &
1758 printcolon = ((channel->flags & ISC_LOG_PRINTTAG) != 0 &&
1760 printcategory = ((channel->flags & ISC_LOG_PRINTCATEGORY) != 0);
1761 printmodule = ((channel->flags & ISC_LOG_PRINTMODULE) != 0);
1762 printlevel = ((channel->flags & ISC_LOG_PRINTLEVEL) != 0);
1763 buffered = ((channel->flags & ISC_LOG_BUFFERED) != 0);
1779 switch (channel->type) {
1781 if (FILE_MAXREACHED(channel)) {
1792 if (FILE_VERSIONS(channel) !=
1794 (stat(FILE_NAME(channel), &statbuf) != 0 &&
1796 statbuf.st_size < FILE_MAXSIZE(channel))
1798 (void)fclose(FILE_STREAM(channel));
1799 FILE_STREAM(channel) = NULL;
1800 FILE_MAXREACHED(channel) = false;
1809 if (FILE_STREAM(channel) == NULL) {
1810 result = isc_log_open(channel);
1813 (channel->flags & ISC_LOG_OPENERR) == 0)
1818 FILE_NAME(channel),
1820 channel->flags |= ISC_LOG_OPENERR;
1825 channel->flags &= ~ISC_LOG_OPENERR;
1830 fprintf(FILE_STREAM(channel), "%s%s%s%s%s%s%s%s%s%s\n",
1843 fflush(FILE_STREAM(channel));
1851 if (FILE_MAXSIZE(channel) > 0) {
1852 INSIST(channel->type == ISC_LOG_TOFILE);
1856 if (fstat(fileno(FILE_STREAM(channel)),
1858 statbuf.st_size > FILE_MAXSIZE(channel))
1860 FILE_MAXREACHED(channel) = true;
1876 FACILITY(channel) | syslog_level,