Lines Matching refs:channel
56 * This is the structure that holds each named channel. A simple linked
57 * list chains all of the channels together, so an individual channel is
87 isc_logchannel_t *channel;
159 * Used when ISC_LOG_PRINTLEVEL is enabled for a channel.
196 * because its channel member is pointed to a channel that is created
211 const isc_logmodule_t *module, isc_logchannel_t *channel);
232 #define FACILITY(channel) (channel->destination.facility)
233 #define FILE_NAME(channel) (channel->destination.file.name)
234 #define FILE_STREAM(channel) (channel->destination.file.stream)
235 #define FILE_VERSIONS(channel) (channel->destination.file.versions)
236 #define FILE_SUFFIX(channel) (channel->destination.file.suffix)
237 #define FILE_MAXSIZE(channel) (channel->destination.file.maximum_size)
238 #define FILE_MAXREACHED(channel) (channel->destination.file.maximum_reached)
321 * Set the default category's channel to default_stderr,
325 default_channel.channel = ISC_LIST_HEAD(lcfg->channels);
412 isc_logchannel_t *channel;
433 while ((channel = ISC_LIST_HEAD(lcfg->channels)) != NULL) {
434 ISC_LIST_UNLINK(lcfg->channels, channel, link);
436 if (channel->type == ISC_LOG_TOFILE) {
438 * The filename for the channel may have ultimately
443 filename = UNCONST(FILE_NAME(channel));
446 if (FILE_STREAM(channel) != NULL) {
447 (void)fclose(FILE_STREAM(channel));
451 isc_mem_free(mctx, channel->name);
452 isc_mem_put(mctx, channel, sizeof(*channel));
627 isc_logchannel_t *channel;
645 channel = isc_mem_get(mctx, sizeof(*channel));
647 channel->name = isc_mem_strdup(mctx, name);
649 channel->type = type;
650 channel->level = level;
651 channel->flags = flags;
652 ISC_LINK_INIT(channel, link);
656 FACILITY(channel) = destination->facility;
665 FILE_NAME(channel) = isc_mem_strdup(mctx,
667 FILE_STREAM(channel) = NULL;
668 FILE_VERSIONS(channel) = destination->file.versions;
669 FILE_SUFFIX(channel) = destination->file.suffix;
670 FILE_MAXSIZE(channel) = destination->file.maximum_size;
671 FILE_MAXREACHED(channel) = false;
675 FILE_NAME(channel) = NULL;
676 FILE_STREAM(channel) = destination->file.stream;
677 FILE_MAXSIZE(channel) = 0;
678 FILE_VERSIONS(channel) = ISC_LOG_ROLLNEVER;
679 FILE_SUFFIX(channel) = isc_log_rollsuffix_increment;
690 ISC_LIST_PREPEND(lcfg->channels, channel, link);
697 default_channel.channel = channel;
706 isc_logchannel_t *channel;
716 for (channel = ISC_LIST_HEAD(lcfg->channels); channel != NULL;
717 channel = ISC_LIST_NEXT(channel, link))
719 if (strcmp(name, channel->name) == 0) {
724 if (channel == NULL) {
729 assignchannel(lcfg, category->id, module, channel);
733 * the default channel.
736 assignchannel(lcfg, i, module, channel);
818 for (isc_logchannel_t *channel =
820 channel != NULL;
821 channel = ISC_LIST_NEXT(channel, link))
823 if (channel->type == ISC_LOG_TOFILE &&
824 (channel->flags & ISC_LOG_DEBUGONLY) != 0 &&
825 FILE_STREAM(channel) != NULL)
827 (void)fclose(FILE_STREAM(channel));
828 FILE_STREAM(channel) = NULL;
896 for (isc_logchannel_t *channel = ISC_LIST_HEAD(lcfg->channels);
897 channel != NULL; channel = ISC_LIST_NEXT(channel, link))
899 if (channel->type == ISC_LOG_TOFILE &&
900 FILE_STREAM(channel) != NULL)
902 (void)fclose(FILE_STREAM(channel));
903 FILE_STREAM(channel) = NULL;
917 const isc_logmodule_t *module, isc_logchannel_t *channel) {
927 REQUIRE(channel != NULL);
936 new_item->channel = channel;
942 * Remember the highest logging level set by any channel in the
944 * message is too high to be logged by any channel.
946 if (channel->type != ISC_LOG_TONULL) {
947 if (lcfg->highest_level < channel->level) {
948 lcfg->highest_level = channel->level;
950 if (channel->level == ISC_LOG_DYNAMIC) {
1374 isc_log_open(isc_logchannel_t *channel) {
1381 REQUIRE(channel->type == ISC_LOG_TOFILE);
1382 REQUIRE(FILE_STREAM(channel) == NULL);
1384 path = FILE_NAME(channel);
1396 if ((FILE_MAXSIZE(channel) == 0 &&
1397 FILE_VERSIONS(channel) != ISC_LOG_ROLLNEVER) ||
1398 (FILE_MAXSIZE(channel) > 0 &&
1399 statbuf.st_size >= FILE_MAXSIZE(channel)))
1414 if (FILE_VERSIONS(channel) == ISC_LOG_ROLLNEVER) {
1417 result = isc_logfile_roll(&channel->destination.file);
1419 if ((channel->flags & ISC_LOG_OPENERR) == 0) {
1423 FILE_NAME(channel),
1425 channel->flags |= ISC_LOG_OPENERR;
1431 result = isc_stdio_open(path, "a", &FILE_STREAM(channel));
1444 * highest_level, or if there is a dynamic channel and the level is
1483 isc_logchannel_t *channel;
1532 * If the channel list end was reached and a match was
1554 * internal default channel.
1569 channel = category_channels->channel;
1574 if (((channel->flags & ISC_LOG_DEBUGONLY) != 0) &&
1580 if (channel->level == ISC_LOG_DYNAMIC) {
1584 } else if (channel->level < level) {
1589 if ((channel->flags & ISC_LOG_PRINTTIME) != 0 &&
1604 if ((channel->flags & ISC_LOG_PRINTLEVEL) != 0 &&
1728 utc = ((channel->flags & ISC_LOG_UTC) != 0);
1729 iso8601 = ((channel->flags & ISC_LOG_ISO8601) != 0);
1730 printtime = ((channel->flags & ISC_LOG_PRINTTIME) != 0);
1731 printtag = ((channel->flags &
1734 printcolon = ((channel->flags & ISC_LOG_PRINTTAG) != 0 &&
1736 printcategory = ((channel->flags & ISC_LOG_PRINTCATEGORY) != 0);
1737 printmodule = ((channel->flags & ISC_LOG_PRINTMODULE) != 0);
1738 printlevel = ((channel->flags & ISC_LOG_PRINTLEVEL) != 0);
1739 buffered = ((channel->flags & ISC_LOG_BUFFERED) != 0);
1755 switch (channel->type) {
1757 if (FILE_MAXREACHED(channel)) {
1768 if (FILE_VERSIONS(channel) !=
1770 (stat(FILE_NAME(channel), &statbuf) != 0 &&
1772 statbuf.st_size < FILE_MAXSIZE(channel))
1774 (void)fclose(FILE_STREAM(channel));
1775 FILE_STREAM(channel) = NULL;
1776 FILE_MAXREACHED(channel) = false;
1785 if (FILE_STREAM(channel) == NULL) {
1786 result = isc_log_open(channel);
1789 (channel->flags & ISC_LOG_OPENERR) == 0)
1794 FILE_NAME(channel),
1796 channel->flags |= ISC_LOG_OPENERR;
1801 channel->flags &= ~ISC_LOG_OPENERR;
1806 fprintf(FILE_STREAM(channel), "%s%s%s%s%s%s%s%s%s%s\n",
1819 fflush(FILE_STREAM(channel));
1827 if (FILE_MAXSIZE(channel) > 0) {
1828 INSIST(channel->type == ISC_LOG_TOFILE);
1832 if (fstat(fileno(FILE_STREAM(channel)),
1834 statbuf.st_size > FILE_MAXSIZE(channel))
1836 FILE_MAXREACHED(channel) = true;
1852 FACILITY(channel) | syslog_level,