New -as mkisofs option -log-file
This commit is contained in:
parent
d1512ed525
commit
c720203420
@ -301,6 +301,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
m->logfile_fp[i]= NULL;
|
||||
}
|
||||
m->pktlog_fp= NULL;
|
||||
m->stderr_fp= NULL;
|
||||
for(i= 0; i < Xorriso_max_outlist_stacK; i++) {
|
||||
m->result_msglists[i]= NULL;
|
||||
m->info_msglists[i]= NULL;
|
||||
|
@ -831,6 +831,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
" --old-root-no-md5 Do not record and use MD5 with -old-root",
|
||||
" --old-root-no-ino Do not use disk inode numbers with -old-root",
|
||||
" --old-root-devno Use disk device numbers with -old-root",
|
||||
" -log-file LOG_FILE Re-direct messages to LOG_FILE",
|
||||
" --no_rc Do not execute startup files",
|
||||
" -v, -verbose Verbose",
|
||||
" -version Print the current version",
|
||||
@ -985,6 +986,35 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
Xorriso_alloc_meM(indev, char, SfileadrL+8);
|
||||
Xorriso_alloc_meM(old_root, char, SfileadrL);
|
||||
|
||||
for(i= 0; i<argc; i++) {
|
||||
if(strcmp(argv[i], "-log-file") == 0 ||
|
||||
strcmp(argv[i], "--log-file") == 0 ) {
|
||||
if(i + 1 >= argc)
|
||||
goto not_enough_args;
|
||||
i+= 1;
|
||||
if(argv[i][0]) {
|
||||
sprintf(xorriso->info_text, "re-directing all messages to %s\n",
|
||||
argv[i]);
|
||||
Xorriso_info(xorriso, 0);
|
||||
}
|
||||
ret= Xorriso_write_to_channel(xorriso, argv[i], 2,
|
||||
8 | ((argv[i][0] == 0) << 15));
|
||||
if(ret <= 0) {
|
||||
sprintf(xorriso->info_text, "Cannot open logfile: %s", argv[i]);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno * (ret == 0),
|
||||
"SORRY", 0);
|
||||
was_failure= 1;
|
||||
fret= Xorriso_eval_problem_status(xorriso, ret, 1|2);
|
||||
if(fret < 0)
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
if(argv[i][0] == 0) {
|
||||
sprintf(xorriso->info_text, "Revoked stderr message redirection");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
strcpy(ra_text, xorriso->report_about_text);
|
||||
|
||||
weight_list= TSOB_FELD(int, (argc / 3) + 1);
|
||||
@ -1181,6 +1211,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
} else if(strcmp(argpt, "--no-emul-toc")==0) {
|
||||
with_emul_toc= 0;
|
||||
xorriso->no_emul_toc|= 1;
|
||||
} else if(strcmp(argpt, "-log-file") == 0) {
|
||||
/* already handled before this loop */;
|
||||
} else {
|
||||
was_other_option= 1;
|
||||
hargv[0]= argpt;
|
||||
@ -1669,6 +1701,9 @@ rr_reloc_dir:;
|
||||
goto problem_handler_2;
|
||||
Xorriso_relax_compliance(xorriso, "deep_paths_off:long_paths_off", 0);
|
||||
|
||||
} else if(strcmp(argpt, "-log-file") == 0) {
|
||||
/* was already handled before this loop */;
|
||||
|
||||
} else if(argpt[0]=='-' && argpt[1]!=0) {
|
||||
hargv[0]= argpt;
|
||||
ret= Xorriso_genisofs_count_args(xorriso, argc - i, hargv, &count, 1);
|
||||
|
@ -526,7 +526,8 @@ int Xorriso_write_to_channel(struct XorrisO *xorriso,
|
||||
bit0= eventually backslash encode linefeeds
|
||||
bit1= text is the name of the log file for the given channel
|
||||
bit2= text is the name of the consolidated packet log file for all channels
|
||||
bit15= with bit1 or bit2: close depicted log file
|
||||
bit3= text is the name of the stderr redirection file
|
||||
bit15= with bit1 to bit3: close depicted log file
|
||||
*/
|
||||
{
|
||||
char *rpt, *npt, *text= NULL;
|
||||
@ -559,6 +560,10 @@ bit15= with bit1 or bit2: close depicted log file
|
||||
fclose(pktlog_fp);
|
||||
xorriso->pktlog_fp= pktlog_fp= NULL;
|
||||
}
|
||||
if((flag & 8) && xorriso->stderr_fp != NULL) {
|
||||
fclose(xorriso->stderr_fp);
|
||||
xorriso->stderr_fp= NULL;
|
||||
}
|
||||
if(flag&(1<<15))
|
||||
{ret= 1; goto ex;}
|
||||
if((flag&2)) {
|
||||
@ -579,7 +584,13 @@ bit15= with bit1 or bit2: close depicted log file
|
||||
Sfile_datestr(time(0),1|2|256));
|
||||
fflush(pktlog_fp);
|
||||
}
|
||||
if(flag&(2|4))
|
||||
if(flag & 8) {
|
||||
truncate(text, (off_t) 0);
|
||||
xorriso->stderr_fp= fopen(text, "a");
|
||||
if(xorriso->stderr_fp == NULL)
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
if(flag & (2| 4 | 8))
|
||||
{ret= 1; goto ex;}
|
||||
|
||||
/* Eventually perform backslash encoding of non-printable characters */
|
||||
@ -628,8 +639,13 @@ bit15= with bit1 or bit2: close depicted log file
|
||||
printf("%s",text);
|
||||
fflush(stdout);
|
||||
}
|
||||
if(channel_no==2 || channel_no==3)
|
||||
fprintf(stderr,"%s",text);
|
||||
if(channel_no==2 || channel_no==3) {
|
||||
if(xorriso->stderr_fp != NULL) {
|
||||
fprintf(xorriso->stderr_fp, "%s", text);
|
||||
fflush(xorriso->stderr_fp);
|
||||
} else
|
||||
fprintf(stderr, "%s", text);
|
||||
}
|
||||
if(logfile_fp!=NULL) {
|
||||
fprintf(logfile_fp,"%s",text);
|
||||
fflush(logfile_fp);
|
||||
|
@ -514,6 +514,7 @@ struct XorrisO { /* the global context of xorriso */
|
||||
char logfile[4][SfileadrL];
|
||||
FILE *logfile_fp[4];
|
||||
FILE *pktlog_fp;
|
||||
FILE *stderr_fp;
|
||||
struct Xorriso_lsT *result_msglists[Xorriso_max_outlist_stacK];
|
||||
struct Xorriso_lsT *info_msglists[Xorriso_max_outlist_stacK];
|
||||
int msglist_flags[Xorriso_max_outlist_stacK]; /* bit0= result is redirected
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2012.04.10.071539"
|
||||
#define Xorriso_timestamP "2012.04.11.163237"
|
||||
|
@ -9,7 +9,7 @@
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH XORRISOFS 1 "Version 1.2.3, Apr 02, 2012"
|
||||
.TH XORRISOFS 1 "Version 1.2.3, Apr 11, 2012"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -1105,6 +1105,12 @@ original mkisofs description texts.
|
||||
Suppress most messages of the program run, except those which indicate
|
||||
problems or errors.
|
||||
.TP
|
||||
\fB\-log-file\fR disk_path
|
||||
.br
|
||||
Truncate file disk_path to 0 size and redirect to it all messages which would
|
||||
normally appear on stderr. \-log\-file with empty text as disk_path re\-enables
|
||||
output to stderr.
|
||||
.TP
|
||||
\fB\-v\fR
|
||||
.br
|
||||
Enable the output of informational program messages.
|
||||
|
@ -1095,6 +1095,11 @@ File: xorrisofs.info, Node: Miscellaneous, Next: ExSimple, Prev: Jigdo, Up:
|
||||
Suppress most messages of the program run, except those which
|
||||
indicate problems or errors.
|
||||
|
||||
-log-file disk_path
|
||||
Truncate file disk_path to 0 size and redirect to it all messages
|
||||
which would normally appear on stderr. -log-file with empty text
|
||||
as disk_path re-enables output to stderr.
|
||||
|
||||
-v
|
||||
Enable the output of informational program messages.
|
||||
|
||||
@ -1641,6 +1646,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
|
||||
(line 107)
|
||||
* -joliet-long allow longer Joliet names: SetExtras. (line 110)
|
||||
* -l allow 31 characters in ISO file names: SetCompl. (line 63)
|
||||
* -log-file redirect stderr messages: Miscellaneous. (line 28)
|
||||
* -m exclude disk files from inserting: SetInsert. (line 35)
|
||||
* -M set path for loading existing ISO image: Loading. (line 11)
|
||||
* -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl.
|
||||
@ -1697,10 +1703,10 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
|
||||
* -untranslated-filenames very relaxed filename rules: SetCompl.
|
||||
(line 36)
|
||||
* -untranslated_name_len untranslated file names: SetCompl. (line 39)
|
||||
* -v enable verbous messages: Miscellaneous. (line 28)
|
||||
* -v enable verbous messages: Miscellaneous. (line 33)
|
||||
* -V set Volume Id: ImageId. (line 13)
|
||||
* -verbose enable verbous messages: Miscellaneous. (line 31)
|
||||
* -version report program version: Miscellaneous. (line 34)
|
||||
* -verbose enable verbous messages: Miscellaneous. (line 36)
|
||||
* -version report program version: Miscellaneous. (line 39)
|
||||
* -volid set Volume Id: ImageId. (line 23)
|
||||
* -volset set Volume Set Id: ImageId. (line 26)
|
||||
* -x exclude disk files from inserting: SetInsert. (line 45)
|
||||
@ -1826,6 +1832,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* MBR, append partition, -append_partition: SystemArea. (line 86)
|
||||
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 58)
|
||||
* MD5, record and load, --md5: SetExtras. (line 77)
|
||||
* Message output, redirect stderr, -log-file: Miscellaneous. (line 28)
|
||||
* Message output, suppress, -quiet: Miscellaneous. (line 24)
|
||||
* Mountability, by non-trivial partition 1, -partition_offset: SystemArea.
|
||||
(line 46)
|
||||
@ -1842,7 +1849,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Permissions, for all directories, -dir-mode: SetProduct. (line 60)
|
||||
* Preparer Id, set, -p: ImageId. (line 54)
|
||||
* Problems, reporting: Bugreport. (line 6)
|
||||
* Program version, report, -version: Miscellaneous. (line 34)
|
||||
* Program version, report, -version: Miscellaneous. (line 39)
|
||||
* Publisher Id, set, -p, -publisher: ImageId. (line 30)
|
||||
* Rock Ridge, (always enabled), -R, -rock: SetExtras. (line 8)
|
||||
* Rock Ridge, _definition: Standards. (line 14)
|
||||
@ -1857,7 +1864,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* System Id, set, -sysid: ImageId. (line 49)
|
||||
* Table-of-content, emulation off, --no-emul-toc: SetProduct. (line 44)
|
||||
* Table-of-content, emulation, --emul-toc: SetProduct. (line 35)
|
||||
* Verbosity, high, -v, -verbose: Miscellaneous. (line 28)
|
||||
* Verbosity, high, -v, -verbose: Miscellaneous. (line 33)
|
||||
* Volume Id, set, -V, -volid: ImageId. (line 13)
|
||||
* Volume Set Id, set, -volset: ImageId. (line 26)
|
||||
* xattr, record and load, --xattr: SetExtras. (line 70)
|
||||
@ -1887,19 +1894,19 @@ Node: SystemArea33162
|
||||
Node: Charset39496
|
||||
Node: Jigdo40522
|
||||
Node: Miscellaneous44789
|
||||
Node: Examples45953
|
||||
Node: ExSimple46439
|
||||
Node: ExGraft46918
|
||||
Node: ExMkisofs48165
|
||||
Node: ExGrowisofs49418
|
||||
Node: ExIncBackup50590
|
||||
Node: ExIncBckAcc53698
|
||||
Node: ExBootable55374
|
||||
Node: Files57466
|
||||
Node: Seealso58540
|
||||
Node: Bugreport59196
|
||||
Node: Legal59777
|
||||
Node: CommandIdx60592
|
||||
Node: ConceptIdx72575
|
||||
Node: Examples46162
|
||||
Node: ExSimple46648
|
||||
Node: ExGraft47127
|
||||
Node: ExMkisofs48374
|
||||
Node: ExGrowisofs49627
|
||||
Node: ExIncBackup50799
|
||||
Node: ExIncBckAcc53907
|
||||
Node: ExBootable55583
|
||||
Node: Files57675
|
||||
Node: Seealso58749
|
||||
Node: Bugreport59405
|
||||
Node: Legal59986
|
||||
Node: CommandIdx60801
|
||||
Node: ConceptIdx72857
|
||||
|
||||
End Tag Table
|
||||
|
@ -50,7 +50,7 @@
|
||||
@c man .\" First parameter, NAME, should be all caps
|
||||
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
@c man .\" other parameters are allowed: see man(7), man(1)
|
||||
@c man .TH XORRISOFS 1 "Version 1.2.3, Apr 02, 2012"
|
||||
@c man .TH XORRISOFS 1 "Version 1.2.3, Apr 11, 2012"
|
||||
@c man .\" Please adjust this date whenever revising the manpage.
|
||||
@c man .\"
|
||||
@c man .\" Some roff macros, for reference:
|
||||
@ -1521,6 +1521,14 @@ original mkisofs description texts.
|
||||
Suppress most messages of the program run, except those which indicate
|
||||
problems or errors.
|
||||
@c man .TP
|
||||
@item -log-file disk_path
|
||||
@kindex -log-file redirect stderr messages
|
||||
@cindex Message output, redirect stderr, -log-file
|
||||
@*
|
||||
Truncate file disk_path to 0 size and redirect to it all messages which would
|
||||
normally appear on stderr. -log-file with empty text as disk_path re-enables
|
||||
output to stderr.
|
||||
@c man .TP
|
||||
@item -v
|
||||
@kindex -v enable verbous messages
|
||||
@cindex Verbosity, high, -v, -verbose
|
||||
|
Loading…
Reference in New Issue
Block a user