DATA Step, Macro, Functions and more

Piping output listing to log in batch mode

Accepted Solution Solved
Reply
Regular Contributor
Posts: 194
Accepted Solution

Piping output listing to log in batch mode

[ Edited ]

Can listings output be redirected to the log?  Using batch mode, without redirecting the log to another file, without passing arguments to SAS regarding current directory or command line arguments to mimic normal batch mode log file placement .


Accepted Solutions
Solution
‎11-13-2017 02:48 PM
Regular Contributor
Posts: 194

Re: Piping output listing to log

[ Edited ]

Ok Reeza, yes.  Because you asked that question like that, made me think outside the box, so then I just went and solved my own problem.  Thanks for the inspiration.

 

SAS Code:

PROC SQL outobs=1 noprint;
   SELECT t1.fileref
     INTO :LOG_FILEREF
     FROM SASHELP.VEXTFL t1
       where t1.xpath like '%.log%';
QUIT;

%put NOTE: LOG_FILEREF=&LOG_FILEREF;

proc printto print=&LOG_FILEREF; run;

proc print data=SASHELP.cars (obs=3);
  var _ALL_;
run;

PROC SQL;
   SELECT t1.fileref, 
          t1.xpath, 
          t1.xengine, 
          t1.modate
      FROM SASHELP.VEXTFL t1;
QUIT;

Producing output log:

 

NOTE: AUTOEXEC processing completed.

 

1          PROC SQL outobs=1 noprint;
2             SELECT t1.fileref
3               INTO :LOG_FILEREF
4               FROM SASHELP.VEXTFL t1
5                 where t1.xpath like '%.log%';
6          QUIT;
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.04 seconds
      cpu time            0.01 seconds
     

SYMBOLGEN:  Macro variable LOG_FILEREF resolves to #LN00003
7         
8          %put NOTE: LOG_FILEREF=&LOG_FILEREF;
3                                         The SAS System           14:45 Monday, November 13, 2017

NOTE: LOG_FILEREF=#LN00003
9         
10         proc printto print=&LOG_FILEREF; run;
SYMBOLGEN:  Macro variable LOG_FILEREF resolves to #LN00003

NOTE: PROCEDURE PRINTTO used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
     

11        
12         proc print data=SASHELP.cars (obs=3);
13           var _ALL_;
14         run;

                                          The SAS System       14:45 Monday, November 13, 2017   1

                                                                               M
                                           D                      E     H      P
                                           r                      n  C  o      G       W
                                           i                      g  y  r   M  _       h
                                           v                I     i  l  s   P  H       e
                                     O     e                n     n  i  e   G  i   W   e   L
                     M               r     T                v     e  n  p   _  g   e   l   e
           M         o          T    i     r       M        o     S  d  o   C  h   i   b   n
      O    a         d          y    g     a       S        i     i  e  w   i  w   g   a   g
      b    k         e          p    i     i       R        c     z  r  e   t  a   h   s   t
      s    e         l          e    n     n       P        e     e  s  r   y  y   t   e   h

       1 Acura MDX            SUV   Asia All    $36,945  $33,337 3.5 6 265 17 23 4451 106 189
       2 Acura RSX Type S 2dr Sedan Asia Front  $23,820  $21,761 2.0 4 200 24 31 2778 101 172
       3 Acura TSX 4dr        Sedan Asia Front  $26,990  $24,647 2.4 4 200 22 29 3230 105 183
 
 [...spaces...] 

NOTE: There were 3 observations read from the data set SASHELP.CARS.
NOTE: The PROCEDURE PRINT printed page 1.
NOTE: PROCEDURE PRINT used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
     

15        
16         *proc printto log=&LOG_FILEREF; run;
17        
18         PROC SQL;
19            SELECT t1.fileref,
20                   t1.xpath,
21                   t1.xengine,
22                   t1.modate
23               FROM SASHELP.VEXTFL t1;
                                          The SAS System       14:45 Monday, November 13, 2017   2

                                                                        Engine
Fileref   Pathname                                                      Name         Date Modified
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
#LN00003  J:\Files\New Text Document.log                                DISK      13NOV17:14:45:21
#LN00004  J:\Files\New Text Document.lst                                DISK      13NOV17:14:27:32
#LN00005  J:\Files\New Text Document.sas                                DISK      13NOV17:14:45:10
SASAUTO1  \\XXXXXXXXXXXX\admin\SASAUTO1                                 DISK      12OCT16:09:19:00
RLINK     C:\Program                                                    DISK      09OCT17:09:29:22
          Files\SASHome\x86\SASFoundation\9.4\CONNECT\SASLINK\TCPWiN.                            
          SCR                                                                                    
#LN00001  C:\Program Files\SASHome\x86\SASFoundation\9.4\core\sasmsg    DISK      05JUN17:14:39:57
#LN00001  C:\Program                                                    DISK      05JUN17:14:39:57
          Files\SASHome\x86\SASFoundation\9.4\accelmva\sasmsg                                    
#LN00001  C:\Program Files\SASHome\x86\SASFoundation\9.4\access\sasmsg  DISK      05JUN17:14:39:57
#LN00001  C:\Program Files\SASHome\x86\SASFoundation\9.4\cmp\sasmsg     DISK      05JUN17:14:39:57
#LN00001  C:\Program Files\SASHome\x86\SASFoundation\9.4\graph\sasmsg   DISK      05JUN17:14:39:57
#LN00001  C:\Program                                                    DISK      05JUN17:14:39:57
          Files\SASHome\x86\SASFoundation\9.4\spdsclient\sasmsg                                  
#LN00002  C:\Users\xxxxxxxx\SAS\connect-saslink                         DISK      13OCT17:15:24:22
 
 [...spaces...] 
 
 4         QUIT;
NOTE: The PROCEDURE SQL printed page 2.
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.06 seconds
      cpu time            0.00 seconds
     

25        
26        

NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           1.52 seconds
      cpu time            0.37 seconds
     

View solution in original post


All Replies
Contributor
Posts: 62

Re: Piping output listing to log

 

 

From the PROC PRINTTO documentation

 http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a000146809.htm

 

Tip:To route the SAS log and procedure output to the same file, specify the same file with both the LOG= and PRINT= options.
Regular Contributor
Posts: 194

Re: Piping output listing to log

[ Edited ]
Posted in reply to JohnHoughton
proc printto print=log; run;

doesn't work.  (thanks)

 

Super User
Posts: 24,003

Re: Piping output listing to log

If you route it to a file it does?

 

filename output 'c:\_localdata\temp\test.txt';
proc printto print=output log=output; run;

proc means data=sashelp.class;
run;
Regular Contributor
Posts: 194

Re: Piping output listing to log

[ Edited ]

True, but .... yuck.  adding to the question:  "Using batch mode, without passing arguments to SAS regarding current directory or command line arguments."

Super User
Posts: 24,003

Re: Piping output listing to log

Naive question...doesn't batch generate a separate log file by default? Wouldn't set PROC PRINTTO within the batch process direct it to a separate file anyways?

Solution
‎11-13-2017 02:48 PM
Regular Contributor
Posts: 194

Re: Piping output listing to log

[ Edited ]

Ok Reeza, yes.  Because you asked that question like that, made me think outside the box, so then I just went and solved my own problem.  Thanks for the inspiration.

 

SAS Code:

PROC SQL outobs=1 noprint;
   SELECT t1.fileref
     INTO :LOG_FILEREF
     FROM SASHELP.VEXTFL t1
       where t1.xpath like '%.log%';
QUIT;

%put NOTE: LOG_FILEREF=&LOG_FILEREF;

proc printto print=&LOG_FILEREF; run;

proc print data=SASHELP.cars (obs=3);
  var _ALL_;
run;

PROC SQL;
   SELECT t1.fileref, 
          t1.xpath, 
          t1.xengine, 
          t1.modate
      FROM SASHELP.VEXTFL t1;
QUIT;

Producing output log:

 

NOTE: AUTOEXEC processing completed.

 

1          PROC SQL outobs=1 noprint;
2             SELECT t1.fileref
3               INTO :LOG_FILEREF
4               FROM SASHELP.VEXTFL t1
5                 where t1.xpath like '%.log%';
6          QUIT;
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.04 seconds
      cpu time            0.01 seconds
     

SYMBOLGEN:  Macro variable LOG_FILEREF resolves to #LN00003
7         
8          %put NOTE: LOG_FILEREF=&LOG_FILEREF;
3                                         The SAS System           14:45 Monday, November 13, 2017

NOTE: LOG_FILEREF=#LN00003
9         
10         proc printto print=&LOG_FILEREF; run;
SYMBOLGEN:  Macro variable LOG_FILEREF resolves to #LN00003

NOTE: PROCEDURE PRINTTO used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
     

11        
12         proc print data=SASHELP.cars (obs=3);
13           var _ALL_;
14         run;

                                          The SAS System       14:45 Monday, November 13, 2017   1

                                                                               M
                                           D                      E     H      P
                                           r                      n  C  o      G       W
                                           i                      g  y  r   M  _       h
                                           v                I     i  l  s   P  H       e
                                     O     e                n     n  i  e   G  i   W   e   L
                     M               r     T                v     e  n  p   _  g   e   l   e
           M         o          T    i     r       M        o     S  d  o   C  h   i   b   n
      O    a         d          y    g     a       S        i     i  e  w   i  w   g   a   g
      b    k         e          p    i     i       R        c     z  r  e   t  a   h   s   t
      s    e         l          e    n     n       P        e     e  s  r   y  y   t   e   h

       1 Acura MDX            SUV   Asia All    $36,945  $33,337 3.5 6 265 17 23 4451 106 189
       2 Acura RSX Type S 2dr Sedan Asia Front  $23,820  $21,761 2.0 4 200 24 31 2778 101 172
       3 Acura TSX 4dr        Sedan Asia Front  $26,990  $24,647 2.4 4 200 22 29 3230 105 183
 
 [...spaces...] 

NOTE: There were 3 observations read from the data set SASHELP.CARS.
NOTE: The PROCEDURE PRINT printed page 1.
NOTE: PROCEDURE PRINT used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
     

15        
16         *proc printto log=&LOG_FILEREF; run;
17        
18         PROC SQL;
19            SELECT t1.fileref,
20                   t1.xpath,
21                   t1.xengine,
22                   t1.modate
23               FROM SASHELP.VEXTFL t1;
                                          The SAS System       14:45 Monday, November 13, 2017   2

                                                                        Engine
Fileref   Pathname                                                      Name         Date Modified
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
#LN00003  J:\Files\New Text Document.log                                DISK      13NOV17:14:45:21
#LN00004  J:\Files\New Text Document.lst                                DISK      13NOV17:14:27:32
#LN00005  J:\Files\New Text Document.sas                                DISK      13NOV17:14:45:10
SASAUTO1  \\XXXXXXXXXXXX\admin\SASAUTO1                                 DISK      12OCT16:09:19:00
RLINK     C:\Program                                                    DISK      09OCT17:09:29:22
          Files\SASHome\x86\SASFoundation\9.4\CONNECT\SASLINK\TCPWiN.                            
          SCR                                                                                    
#LN00001  C:\Program Files\SASHome\x86\SASFoundation\9.4\core\sasmsg    DISK      05JUN17:14:39:57
#LN00001  C:\Program                                                    DISK      05JUN17:14:39:57
          Files\SASHome\x86\SASFoundation\9.4\accelmva\sasmsg                                    
#LN00001  C:\Program Files\SASHome\x86\SASFoundation\9.4\access\sasmsg  DISK      05JUN17:14:39:57
#LN00001  C:\Program Files\SASHome\x86\SASFoundation\9.4\cmp\sasmsg     DISK      05JUN17:14:39:57
#LN00001  C:\Program Files\SASHome\x86\SASFoundation\9.4\graph\sasmsg   DISK      05JUN17:14:39:57
#LN00001  C:\Program                                                    DISK      05JUN17:14:39:57
          Files\SASHome\x86\SASFoundation\9.4\spdsclient\sasmsg                                  
#LN00002  C:\Users\xxxxxxxx\SAS\connect-saslink                         DISK      13OCT17:15:24:22
 
 [...spaces...] 
 
 4         QUIT;
NOTE: The PROCEDURE SQL printed page 2.
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.06 seconds
      cpu time            0.00 seconds
     

25        
26        

NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           1.52 seconds
      cpu time            0.37 seconds
     
Super User
Posts: 24,003

Re: Piping output listing to log

Jupyter notebooks puts everything in one place if that's what you're trying to accomplish.

Regular Contributor
Posts: 194

Re: Piping output listing to log

[ Edited ]

No, but... I forgot about Jupyter..  and OOHH... it is now supported on Windows!  I didn't know this! 

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 8 replies
  • 424 views
  • 9 likes
  • 3 in conversation